[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T17:17:42.455235Z",
                    "start": "2026-09-17T17:17:38.985874Z"
                },
                "id": "0242ac17-0010-4d9c-d87c-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-09-17",
                                    "day": "17",
                                    "epoch": "1789665460",
                                    "epoch_int": "1789665460",
                                    "hour": "17",
                                    "iso8601": "2026-09-17T17:17:40Z",
                                    "iso8601_basic": "20260917T171740807344",
                                    "iso8601_basic_short": "20260917T171740",
                                    "iso8601_micro": "2026-09-17T17:17:40.807344Z",
                                    "minute": "17",
                                    "month": "09",
                                    "second": "40",
                                    "time": "17:17:40",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "37",
                                    "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/0c7c102e66d14db08666ad5cdedd19b5/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/kube/config",
                                    "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/0c7c102e66d14db08666ad5cdedd19b5/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": "3261539",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-vyjgulwuMpdA/agent.3261538",
                                    "TMP": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "2d72f0692154",
                                "ansible_hostname": "2d72f0692154",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 3.2841796875,
                                    "1m": 3.2265625,
                                    "5m": 3.5234375
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 5816,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 12516,
                                        "used": 19574
                                    },
                                    "real": {
                                        "free": 5816,
                                        "total": 32090,
                                        "used": 26274
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 46388693,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 217552024,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 28943817,
                                        "inode_total": 67108864,
                                        "inode_used": 38165047,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 190008086528,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8290767,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32310813,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16567936,
                                        "inode_total": 20643840,
                                        "inode_used": 4075904,
                                        "mount": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33958981632,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "2d72f0692154",
                                "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": 53328912,
                                "ansible_user_dir": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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-09-17T17:17:40.881155Z",
                            "start": "2026-09-17T17:17:38.993764Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:40.913844Z",
                            "start": "2026-09-17T17:17:40.891606Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "0c7/oss/0c7c102e66d14db08666ad5cdedd19b5"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:40.959396Z",
                            "start": "2026-09-17T17:17:40.930772Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: ansible-collection-ceph-molecule-aio-ubuntu-jammy\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/ansible-collection-ceph/pull/126\nEvent ID: 783fed80-b2bb-11f1-8f63-7aa5ad9296d8\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:41.008369Z",
                            "start": "2026-09-17T17:17:40.965451Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-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: aio\nHostname: np0000193050\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.161\n",
                                    "zj_item": "aio"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:41.139417Z",
                            "start": "2026-09-17T17:17:41.014117Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:41.550079Z",
                            "start": "2026-09-17T17:17:41.147964Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "f14cb963900b3274866f7a4d9e1bc4954ac9e4f9",
                            "dest": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "f14cb963900b3274866f7a4d9e1bc4954ac9e4f9",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/.ansible/tmp/ansible-tmp-1789665461.5791647-84-128383324168129/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "ebf1150bebe10bffc262081abd026938",
                            "mode": "0644",
                            "owner": "root",
                            "size": 24690,
                            "src": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/.ansible/tmp/ansible-tmp-1789665461.5791647-84-128383324168129/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:42.455235Z",
                            "start": "2026-09-17T17:17:41.554890Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T17:17:51.483816Z",
                    "start": "2026-09-17T17:17:42.466708Z"
                },
                "id": "0242ac17-0010-4d9c-d87c-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "aio": {
                            "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/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:42.704013Z",
                            "start": "2026-09-17T17:17:42.483626Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:42.749810Z",
                            "start": "2026-09-17T17:17:42.714467Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.237697",
                            "end": "2026-09-17 17:17:44.379017",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_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-0010-4d9c-d87c-00000000009c-0-aio",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 17:17:43.141320",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa.pub\nThe key fingerprint is:\nSHA256:mYIxKTiI9Cw/H5h+RD28fxq3AfEDfGRcdv62lI8/lQk zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n| .        .o.o . |\n|+.o  .o . o.. o  |\n|=..o+. + + .   . |\n| .o.++  oo=  E  o|\n|   =.o..S. o  .o=|\n|  . + ... . . .=+|\n|   . o   o +  ..o|\n|    .     = o  o |\n|         . .    o|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:mYIxKTiI9Cw/H5h+RD28fxq3AfEDfGRcdv62lI8/lQk zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "| .        .o.o . |",
                                "|+.o  .o . o.. o  |",
                                "|=..o+. + + .   . |",
                                "| .o.++  oo=  E  o|",
                                "|   =.o..S. o  .o=|",
                                "|  . + ... . . .=+|",
                                "|   . o   o +  ..o|",
                                "|    .     = o  o |",
                                "|         . .    o|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-4d9c-d87c-00000000009c-0-aio"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:44.435050Z",
                            "start": "2026-09-17T17:17:42.786057Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:44.476830Z",
                            "start": "2026-09-17T17:17:44.442590Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:44.525384Z",
                            "start": "2026-09-17T17:17:44.500534Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyREzL9Ri2FUP14GaNPiLfzs6GJjlbC+PsdD0zJRGtzNtG2SMmBR02baikZjK80JGUmqx79UdS6EpVq+M9YNSR3hlyd7k047Ua3z9bkv6s7aYsly0IcsAlJFKVnvDu2cJwHCFcQGDQXKWW6t57lbrtmb97F8QzIWhg7rv3rCrFgju4z0By3TY2bJ/ybd3ouA3rRX8QHxT+RS409KRpfZPMj1cULMsvrFRIyL4Tx/36nAza8QL3BsTH37zzioXX28wrtL2qXU0NTRe8yTz7RjpKLy6g1SgdmQW8aDNLpNTpIgDUX+33l5qKQpltp8JR8gotAQTscgKY7glTZ2WqDAaxtIbiJI4pcP6/9bBkJ3PyVK7tOv1IpT6KPTvjiSJufiuf4iANSjjcoHNLSbJBbUGFyChjsyKCfuK0dIEzNQV0EkG0nNZFKDWz49AkfMWr9k9lgR6ZXiXP4yLBtKRpa7v5c0hiEmSe3WycuvVPVVkhHwS6iqXmx8gaiqNj6NHgctk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyREzL9Ri2FUP14GaNPiLfzs6GJjlbC+PsdD0zJRGtzNtG2SMmBR02baikZjK80JGUmqx79UdS6EpVq+M9YNSR3hlyd7k047Ua3z9bkv6s7aYsly0IcsAlJFKVnvDu2cJwHCFcQGDQXKWW6t57lbrtmb97F8QzIWhg7rv3rCrFgju4z0By3TY2bJ/ybd3ouA3rRX8QHxT+RS409KRpfZPMj1cULMsvrFRIyL4Tx/36nAza8QL3BsTH37zzioXX28wrtL2qXU0NTRe8yTz7RjpKLy6g1SgdmQW8aDNLpNTpIgDUX+33l5qKQpltp8JR8gotAQTscgKY7glTZ2WqDAaxtIbiJI4pcP6/9bBkJ3PyVK7tOv1IpT6KPTvjiSJufiuf4iANSjjcoHNLSbJBbUGFyChjsyKCfuK0dIEzNQV0EkG0nNZFKDWz49AkfMWr9k9lgR6ZXiXP4yLBtKRpa7v5c0hiEmSe3WycuvVPVVkhHwS6iqXmx8gaiqNj6NHgctk= 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-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:45.083824Z",
                            "start": "2026-09-17T17:17:44.535702Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "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-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:45.286827Z",
                            "start": "2026-09-17T17:17:45.093315Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "735eedef28f2bac610625ea00318bc1f52adaec4",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "0c7c102e66d14db08666ad5cdedd19b5_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "735eedef28f2bac610625ea00318bc1f52adaec4",
                                    "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-1789665465.3374577-190-263419908195863/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "26573bc5f48f73ea1356cb904cfce1a2",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789665465.3374577-190-263419908195863/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:45.839072Z",
                            "start": "2026-09-17T17:17:45.295740Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "6f9e9b264850acd0ecce0a235dfcb393a514f651",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "0c7c102e66d14db08666ad5cdedd19b5_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "6f9e9b264850acd0ecce0a235dfcb393a514f651",
                                    "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-1789665465.9006302-200-72137019315955/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "51833b3df9bc968dd7ea37b34501afe8",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789665465.9006302-200-72137019315955/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:46.381257Z",
                            "start": "2026-09-17T17:17:45.848382Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:46.413612Z",
                            "start": "2026-09-17T17:17:46.389418Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:46.915911Z",
                            "start": "2026-09-17T17:17:46.545022Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa"
                            ],
                            "delta": "0:00:00.014793",
                            "end": "2026-09-17 17:17:47.180314",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_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-0010-4d9c-d87c-0000000000ab-0-aio",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 17:17:47.165521",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/0c7c102e66d14db08666ad5cdedd19b5_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-4d9c-d87c-0000000000ab-0-aio"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:47.215972Z",
                            "start": "2026-09-17T17:17:46.935463Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:47.530833Z",
                            "start": "2026-09-17T17:17:47.224821Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:47.563794Z",
                            "start": "2026-09-17T17:17:47.539276Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d9c-d87c-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:47.950589Z",
                            "start": "2026-09-17T17:17:47.584393Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "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-0010-4d9c-d87c-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:50.394976Z",
                            "start": "2026-09-17T17:17:47.957914Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "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-0010-4d9c-d87c-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:50.951751Z",
                            "start": "2026-09-17T17:17:50.420656Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "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-0010-4d9c-d87c-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:51.483816Z",
                            "start": "2026-09-17T17:17:50.961962Z"
                        },
                        "id": "0242ac17-0010-4d9c-d87c-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "aio": {
            "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-09-17T17:18:03.336818Z",
                    "start": "2026-09-17T17:17:52.300680Z"
                },
                "id": "0242ac17-0010-6151-7c6e-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "aio": {
                            "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-1789665472.3526947-5-267407232531962/uv-x86_64-unknown-linux-gnuyioyk1ve.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-1789665472.3526947-5-267407232531962/uv-x86_64-unknown-linux-gnuyioyk1ve.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6151-7c6e-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:54.691019Z",
                            "start": "2026-09-17T17:17:52.310771Z"
                        },
                        "id": "0242ac17-0010-6151-7c6e-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.014920",
                            "end": "2026-09-17 17:17:55.126977",
                            "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-0010-6151-7c6e-000000000008-1-aio",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 17:17:55.112057",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-6151-7c6e-000000000008-1-aio"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6151-7c6e-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:17:55.248971Z",
                            "start": "2026-09-17T17:17:54.731444Z"
                        },
                        "id": "0242ac17-0010-6151-7c6e-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": true,
                            "checkouts": [
                                {
                                    "changed": true,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "tag": "2.2.2"
                                },
                                {
                                    "changed": false,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "tag": "v6.1.1"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "13.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.library_inventory_filtering_v1",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.library_inventory_filtering",
                                    "tag": "1.1.5"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.8"
                                }
                            ],
                            "installed": [
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "spec": ">=1.6.0",
                                    "tag": "2.2.2",
                                    "version": "2.2.2"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "spec": ">=6.0.0",
                                    "tag": "v6.1.1",
                                    "version": "6.1.1"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": ">=4.5.0",
                                    "tag": "13.4.0",
                                    "version": "13.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.library_inventory_filtering_v1",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.library_inventory_filtering",
                                    "spec": ">=1.0.0",
                                    "tag": "1.1.5",
                                    "version": "1.1.5"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "spec": ">=1.1.1",
                                    "tag": "v1.6.8",
                                    "version": "1.6.8"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "126",
                                            "change_message": "fix: harden Ceph downloads and CI dependency installation\n\nTransient download failures currently abort Ceph deployment and make CI unreliable. Harden the cephadm download and install Molecule collection dependencies from Zuul checkouts to reduce Galaxy resolution and download work during prerun.\n\n- Set a 60-second HTTP timeout for cephadm, retrying failed downloads up to three times after the initial attempt with a five-second delay. The collection audit found no other direct HTTP download tasks.\n- Declare five sibling repositories on the shared Molecule job: ansible.posix, ansible.utils, community.general, community.library_inventory_filtering, and vexxhost/ansible-collection-containers. All four Jammy/Noble AIO/HA jobs inherit them.\n- The existing Molecule parent helper selects matching release tags for ordinary dependencies and keeps speculative checkouts for buildset dependencies. Include community.library_inventory_filtering because community.general 13.4.0 declares it as a dependency.\n\nThis follows the approach in vexxhost/atmosphere.common#125. Sibling installation reduces Galaxy dependence but does not eliminate all network downloads or address every possible CI failure.\n\nThe motivating Atmosphere AIO run failed at `Download \"cephadm\"` with a read timeout:\nhttps://logs.oss.vexxhost.dev/fa5/oss/fa5a35fb0f8343f8863b0b2bb7fabefb/job-output.txt\n\nValidation: file-scoped pre-commit passed for both changed files, including Ansible lint; `git diff --check` passed. Zuul must validate required-project availability and the four deployment jobs. No measured speedup is claimed yet, and the prior oss/check failure has not been diagnosed by this change.\n",
                                            "change_url": "https://github.com/vexxhost/ansible-collection-ceph/pull/126",
                                            "commit_id": "cc81629e191476a4519ab0321ceedb2052f2a27c",
                                            "patchset": "cc81629e191476a4519ab0321ceedb2052f2a27c",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/ansible-collection-ceph",
                                                "name": "vexxhost/ansible-collection-ceph",
                                                "short_name": "ansible-collection-ceph",
                                                "src_dir": "src/github.com/vexxhost/ansible-collection-ceph"
                                            },
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-ceph",
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "126",
                                            "change_message": "fix: harden Ceph downloads and CI dependency installation\n\nTransient download failures currently abort Ceph deployment and make CI unreliable. Harden the cephadm download and install Molecule collection dependencies from Zuul checkouts to reduce Galaxy resolution and download work during prerun.\n\n- Set a 60-second HTTP timeout for cephadm, retrying failed downloads up to three times after the initial attempt with a five-second delay. The collection audit found no other direct HTTP download tasks.\n- Declare five sibling repositories on the shared Molecule job: ansible.posix, ansible.utils, community.general, community.library_inventory_filtering, and vexxhost/ansible-collection-containers. All four Jammy/Noble AIO/HA jobs inherit them.\n- The existing Molecule parent helper selects matching release tags for ordinary dependencies and keeps speculative checkouts for buildset dependencies. Include community.library_inventory_filtering because community.general 13.4.0 declares it as a dependency.\n\nThis follows the approach in vexxhost/atmosphere.common#125. Sibling installation reduces Galaxy dependence but does not eliminate all network downloads or address every possible CI failure.\n\nThe motivating Atmosphere AIO run failed at `Download \"cephadm\"` with a read timeout:\nhttps://logs.oss.vexxhost.dev/fa5/oss/fa5a35fb0f8343f8863b0b2bb7fabefb/job-output.txt\n\nValidation: file-scoped pre-commit passed for both changed files, including Ansible lint; `git diff --check` passed. Zuul must validate required-project availability and the four deployment jobs. No measured speedup is claimed yet, and the prior oss/check failure has not been diagnosed by this change.\n",
                                            "change_url": "https://github.com/vexxhost/ansible-collection-ceph/pull/126",
                                            "commit_id": "cc81629e191476a4519ab0321ceedb2052f2a27c",
                                            "patchset": "cc81629e191476a4519ab0321ceedb2052f2a27c",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/ansible-collection-ceph",
                                                "name": "vexxhost/ansible-collection-ceph",
                                                "short_name": "ansible-collection-ceph",
                                                "src_dir": "src/github.com/vexxhost/ansible-collection-ceph"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/ansible-collection-ceph",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.posix",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d5699a3fcfca765b32f94b68a592139dc58d0301",
                                            "name": "ansible-collections/ansible.posix",
                                            "required": true,
                                            "short_name": "ansible.posix",
                                            "src_dir": "src/github.com/ansible-collections/ansible.posix"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.utils",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "1f3e1bdfe2ba8904d397222dd6f90911d6f2402b",
                                            "name": "ansible-collections/ansible.utils",
                                            "required": true,
                                            "short_name": "ansible.utils",
                                            "src_dir": "src/github.com/ansible-collections/ansible.utils"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.general",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "010f76c648a0695ec6a6a484a48488bf503bb29c",
                                            "name": "ansible-collections/community.general",
                                            "required": true,
                                            "short_name": "community.general",
                                            "src_dir": "src/github.com/ansible-collections/community.general"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.library_inventory_filtering",
                                            "checkout": "stable-1",
                                            "checkout_description": "project default branch",
                                            "commit": "f99a651ceadd9592e9be7bce4486c2198af06741",
                                            "name": "ansible-collections/community.library_inventory_filtering",
                                            "required": true,
                                            "short_name": "community.library_inventory_filtering",
                                            "src_dir": "src/github.com/ansible-collections/community.library_inventory_filtering"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-ceph",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "e93ee425fffafd26019de6863821b61144b2065f",
                                            "name": "vexxhost/ansible-collection-ceph",
                                            "required": false,
                                            "short_name": "ansible-collection-ceph",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-ceph"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-containers",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d22923ebd40c0fd5a345318c1db90d125fb5140f",
                                            "name": "vexxhost/ansible-collection-containers",
                                            "required": true,
                                            "short_name": "ansible-collection-containers",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-containers"
                                        }
                                    ],
                                    "workspace_dir": "/home/zuul"
                                }
                            },
                            "log": [
                                "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Sibling collection ansible.utils at /home/zuul/src/github.com/ansible-collections/ansible.utils",
                                "Sibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general",
                                "Sibling collection community.library_inventory_filtering_v1 at /home/zuul/src/github.com/ansible-collections/community.library_inventory_filtering",
                                "Sibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Resolved community.general to 13.4.0 for >=4.5.0",
                                "Resolved ansible.utils to v6.1.1 for >=6.0.0",
                                "Resolved vexxhost.containers to v1.6.8 for >=1.1.1",
                                "Resolved community.library_inventory_filtering_v1 to 1.1.5 for >=1.0.0",
                                "Resolved ansible.posix to 2.2.2 for >=1.6.0",
                                "Checked out ansible.posix to 2.2.2",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.posix:2.2.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:2.2.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:2.2.2 was installed successfully",
                                "Downloading cpython-3.13.7-linux-x86_64-gnu (download) (30.9MiB)",
                                " Downloading cpython-3.13.7-linux-x86_64-gnu (download)",
                                "Using CPython 3.13.7",
                                "Creating virtual environment at: .venv",
                                "Downloading pygments (1.2MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading cryptography (4.3MiB)",
                                " Downloading netaddr",
                                " Downloading pygments",
                                "Downloading cryptography (4.3MiB)",
                                " Downloading cryptography",
                                "Downloading ansible-core (2.1MiB)",
                                " Downloading ansible-core",
                                "Installed 36 packages in 31ms",
                                "Checked out ansible.utils to v6.1.1",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.utils",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.utils:6.1.1' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "Created collection for ansible.utils:6.1.1 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils",
                                "ansible.utils:6.1.1 was installed successfully",
                                "Checked out community.general to 13.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.general:13.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:13.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:13.4.0 was installed successfully",
                                "Checked out community.library_inventory_filtering_v1 to 1.1.5",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.library_inventory_filtering",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.library_inventory_filtering_v1:1.1.5' to '/home/zuul/.ansible/collections/ansible_collections/community/library_inventory_filtering_v1'",
                                "Created collection for community.library_inventory_filtering_v1:1.1.5 at /home/zuul/.ansible/collections/ansible_collections/community/library_inventory_filtering_v1",
                                "community.library_inventory_filtering_v1:1.1.5 was installed successfully",
                                "Checked out vexxhost.containers to v1.6.8",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.containers:1.6.8' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'",
                                "Created collection for vexxhost.containers:1.6.8 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers",
                                "vexxhost.containers:1.6.8 was installed successfully"
                            ],
                            "msg": "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix\nSibling collection ansible.utils at /home/zuul/src/github.com/ansible-collections/ansible.utils\nSibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general\nSibling collection community.library_inventory_filtering_v1 at /home/zuul/src/github.com/ansible-collections/community.library_inventory_filtering\nSibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nResolved community.general to 13.4.0 for >=4.5.0\nResolved ansible.utils to v6.1.1 for >=6.0.0\nResolved vexxhost.containers to v1.6.8 for >=1.1.1\nResolved community.library_inventory_filtering_v1 to 1.1.5 for >=1.0.0\nResolved ansible.posix to 2.2.2 for >=1.6.0\nChecked out ansible.posix to 2.2.2\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.posix:2.2.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:2.2.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:2.2.2 was installed successfully\nDownloading cpython-3.13.7-linux-x86_64-gnu (download) (30.9MiB)\n Downloading cpython-3.13.7-linux-x86_64-gnu (download)\nUsing CPython 3.13.7\nCreating virtual environment at: .venv\nDownloading pygments (1.2MiB)\nDownloading netaddr (2.2MiB)\nDownloading cryptography (4.3MiB)\n Downloading netaddr\n Downloading pygments\nDownloading cryptography (4.3MiB)\n Downloading cryptography\nDownloading ansible-core (2.1MiB)\n Downloading ansible-core\nInstalled 36 packages in 31ms\nChecked out ansible.utils to v6.1.1\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.utils\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.utils:6.1.1' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nCreated collection for ansible.utils:6.1.1 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils\nansible.utils:6.1.1 was installed successfully\nChecked out community.general to 13.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.general:13.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:13.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:13.4.0 was installed successfully\nChecked out community.library_inventory_filtering_v1 to 1.1.5\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.library_inventory_filtering\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.library_inventory_filtering_v1:1.1.5' to '/home/zuul/.ansible/collections/ansible_collections/community/library_inventory_filtering_v1'\nCreated collection for community.library_inventory_filtering_v1:1.1.5 at /home/zuul/.ansible/collections/ansible_collections/community/library_inventory_filtering_v1\ncommunity.library_inventory_filtering_v1:1.1.5 was installed successfully\nChecked out vexxhost.containers to v1.6.8\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.containers:1.6.8' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'\nCreated collection for vexxhost.containers:1.6.8 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers\nvexxhost.containers:1.6.8 was installed successfully"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:18:03.336818Z",
                            "start": "2026-09-17T17:17:55.267531Z"
                        },
                        "id": "0242ac17-0010-6151-7c6e-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "aio": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "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-09-17T17:28:08.064174Z",
                    "start": "2026-09-17T17:18:04.166970Z"
                },
                "id": "0242ac17-0010-9334-db8c-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "aio": {
                            "action": "ansible.builtin.stat",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/ansible-collection-ceph"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/ansible-collection-ceph",
                                    "stat": {
                                        "atime": 1789665470.114337,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1789665477.0265472,
                                        "dev": 64513,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1045247,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1789665477.0265472,
                                        "nlink": 11,
                                        "path": "src/github.com/vexxhost/ansible-collection-ceph",
                                        "pw_name": "zuul",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 4096,
                                        "uid": 1000,
                                        "version": "2231448181",
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": true,
                                        "xoth": true,
                                        "xusr": true
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/ansible-collection-ceph/molecule/default/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/ansible-collection-ceph/molecule/default/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:18:04.908994Z",
                            "start": "2026-09-17T17:18:04.176995Z"
                        },
                        "id": "0242ac17-0010-9334-db8c-000000000004",
                        "name": "Check inventory directories"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "checksum": "f14cb963900b3274866f7a4d9e1bc4954ac9e4f9",
                                    "dest": "src/github.com/vexxhost/ansible-collection-ceph/inventory.yaml",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "inventory.yaml",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "f14cb963900b3274866f7a4d9e1bc4954ac9e4f9",
                                            "content": null,
                                            "dest": "src/github.com/vexxhost/ansible-collection-ceph",
                                            "directory_mode": null,
                                            "follow": false,
                                            "force": true,
                                            "group": null,
                                            "local_follow": null,
                                            "mode": "0644",
                                            "owner": null,
                                            "remote_src": null,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789665485.0029697-9-11177349448005/source",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/ansible-collection-ceph"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/ansible-collection-ceph",
                                        "stat": {
                                            "atime": 1789665470.114337,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1789665477.0265472,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1045247,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1789665477.0265472,
                                            "nlink": 11,
                                            "path": "src/github.com/vexxhost/ansible-collection-ceph",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2231448181",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "ebf1150bebe10bffc262081abd026938",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 24690,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789665485.0029697-9-11177349448005/source",
                                    "state": "file",
                                    "uid": 1000
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/ansible-collection-ceph/molecule/default/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/ansible-collection-ceph/molecule/default/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:18:05.796432Z",
                            "start": "2026-09-17T17:18:04.916158Z"
                        },
                        "id": "0242ac17-0010-9334-db8c-000000000005",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "src/github.com/vexxhost/ansible-collection-ceph/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
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/ansible-collection-ceph"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/ansible-collection-ceph",
                                        "stat": {
                                            "atime": 1789665470.114337,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1789665477.0265472,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1045247,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1789665477.0265472,
                                            "nlink": 11,
                                            "path": "src/github.com/vexxhost/ansible-collection-ceph",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2231448181",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/ansible-collection-ceph/molecule/default/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/ansible-collection-ceph/molecule/default/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:18:06.196287Z",
                            "start": "2026-09-17T17:18:05.801027Z"
                        },
                        "id": "0242ac17-0010-9334-db8c-000000000006",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "default"
                            ],
                            "delta": "0:10:01.341821",
                            "end": "2026-09-17 17:28:07.885387",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s default",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/ansible-collection-ceph",
                                    "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-0010-9334-db8c-000000000007-1-aio",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 17:18:06.543566",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "INFO     Collection 'vexxhost.ceph' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nINFO     [default > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [default > prerun] Performing prerun with role_name_check=0...\nINFO     [default > dependency] Executing\nWARNING  [default > dependency] Missing roles requirements file: requirements.yml\nWARNING  [default > dependency] Missing collections requirements file: collections.yml\nWARNING  [default > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [default > cleanup] Executing\nWARNING  [default > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [default > destroy] Executing\nWARNING  [default > destroy] Skipping, '--destroy=never' requested.\nINFO     [default > destroy] Executed: Successful\nINFO     [default > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/converge.yml\nINFO     [default > syntax] Executed: Successful\nINFO     [default > create] Executing\nWARNING  [default > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [default > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:18:11 +0000 (0:00:00.031)       0:00:00.031 ****\n[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.\nok: [aio]\n\nTASK [Configure short hostname] ************************************************\nThursday 17 September 2026  17:18:12 +0000 (0:00:01.234)       0:00:01.266 ****\nchanged: [aio]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nThursday 17 September 2026  17:18:13 +0000 (0:00:00.728)       0:00:01.994 ****\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: [aio]\n\nTASK [Update apt cache] ********************************************************\nThursday 17 September 2026  17:18:13 +0000 (0:00:00.282)       0:00:02.277 ****\nchanged: [aio]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:18:21 +0000 (0:00:07.241)       0:00:09.519 ****\nok: [aio]\n\nTASK [Install depedencies] *****************************************************\nThursday 17 September 2026  17:18:21 +0000 (0:00:00.757)       0:00:10.277 ****\nchanged: [aio]\n\nTASK [Start up service] ********************************************************\nThursday 17 September 2026  17:18:45 +0000 (0:00:23.878)       0:00:34.156 ****\nok: [aio]\n\nTASK [Generate lvm.conf] *******************************************************\nThursday 17 September 2026  17:18:46 +0000 (0:00:00.574)       0:00:34.730 ****\nok: [aio]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nThursday 17 September 2026  17:18:46 +0000 (0:00:00.351)       0:00:35.082 ****\nchanged: [aio]\n\nTASK [Get list of all loopback devices] ****************************************\nThursday 17 September 2026  17:18:47 +0000 (0:00:00.669)       0:00:35.751 ****\nok: [aio]\n\nTASK [Fail if there is any existing loopback devices] **************************\nThursday 17 September 2026  17:18:47 +0000 (0:00:00.212)       0:00:35.963 ****\nskipping: [aio]\n\nTASK [Create devices for Ceph] *************************************************\nThursday 17 September 2026  17:18:47 +0000 (0:00:00.024)       0:00:35.988 ****\nchanged: [aio] => (item=osd0)\nchanged: [aio] => (item=osd1)\nchanged: [aio] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nThursday 17 September 2026  17:18:48 +0000 (0:00:00.610)       0:00:36.598 ****\nchanged: [aio] => (item=osd0)\nchanged: [aio] => (item=osd1)\nchanged: [aio] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nThursday 17 September 2026  17:18:48 +0000 (0:00:00.678)       0:00:37.277 ****\nchanged: [aio] => (item=osd0)\nchanged: [aio] => (item=osd1)\nchanged: [aio] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nThursday 17 September 2026  17:18:49 +0000 (0:00:00.831)       0:00:38.108 ****\nchanged: [aio] => (item=osd0)\nchanged: [aio] => (item=osd1)\nchanged: [aio] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nThursday 17 September 2026  17:18:53 +0000 (0:00:03.299)       0:00:41.407 ****\nchanged: [aio] => (item=ceph-aio-osd0)\nchanged: [aio] => (item=ceph-aio-osd1)\nchanged: [aio] => (item=ceph-aio-osd2)\n\nPLAY RECAP *********************************************************************\naio                        : ok=15   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 17 September 2026  17:18:54 +0000 (0:00:01.978)       0:00:43.386 ****\n===============================================================================\nInstall depedencies ---------------------------------------------------- 23.88s\nUpdate apt cache -------------------------------------------------------- 7.24s\nCreate a volume group for each loop device ------------------------------ 3.30s\nCreate a logical volume for each loop device ---------------------------- 1.98s\nGathering Facts --------------------------------------------------------- 1.23s\nStart loop devices ------------------------------------------------------ 0.83s\nGathering Facts --------------------------------------------------------- 0.76s\nConfigure short hostname ------------------------------------------------ 0.73s\nSet permissions on loopback devices ------------------------------------- 0.68s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.67s\nCreate devices for Ceph ------------------------------------------------- 0.61s\nStart up service -------------------------------------------------------- 0.57s\nGenerate lvm.conf ------------------------------------------------------- 0.35s\nEnsure hostname inside hosts file --------------------------------------- 0.28s\nGet list of all loopback devices ---------------------------------------- 0.21s\nFail if there is any existing loopback devices -------------------------- 0.02s\nINFO     [default > prepare] Executed: Successful\nINFO     [default > converge] Executing\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:18:55 +0000 (0:00:00.042)       0:00:00.042 ****\n[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:18:57 +0000 (0:00:01.266)       0:00:01.309 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:18:57 +0000 (0:00:00.288)       0:00:01.597 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  17:18:57 +0000 (0:00:00.039)       0:00:01.637 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:18:57 +0000 (0:00:00.313)       0:00:01.951 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:18:58 +0000 (0:00:00.119)       0:00:02.070 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:18:58 +0000 (0:00:00.812)       0:00:02.882 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:18:58 +0000 (0:00:00.059)       0:00:02.942 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:18:58 +0000 (0:00:00.045)       0:00:02.987 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:18:59 +0000 (0:00:00.230)       0:00:03.218 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:19:00 +0000 (0:00:01.479)       0:00:04.697 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:19:00 +0000 (0:00:00.106)       0:00:04.804 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:19:01 +0000 (0:00:00.808)       0:00:05.613 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  17:19:04 +0000 (0:00:02.928)       0:00:08.541 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  17:19:04 +0000 (0:00:00.024)       0:00:08.566 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  17:19:04 +0000 (0:00:00.034)       0:00:08.601 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  17:19:04 +0000 (0:00:00.028)       0:00:08.630 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  17:19:11 +0000 (0:00:07.175)       0:00:15.805 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  17:19:12 +0000 (0:00:00.638)       0:00:16.444 ****\nchanged: [aio] => (item={'path': '/etc/containerd'})\nchanged: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 17 September 2026  17:19:13 +0000 (0:00:01.022)       0:00:17.466 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  17:19:14 +0000 (0:00:00.705)       0:00:18.171 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nThursday 17 September 2026  17:19:14 +0000 (0:00:00.010)       0:00:18.182 ****\nok: [aio]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nThursday 17 September 2026  17:19:15 +0000 (0:00:01.042)       0:00:19.224 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  17:19:15 +0000 (0:00:00.525)       0:00:19.750 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:19:16 +0000 (0:00:00.586)       0:00:20.336 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:19:16 +0000 (0:00:00.264)       0:00:20.601 ****\nok: [aio] => {\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] *******************\nThursday 17 September 2026  17:19:16 +0000 (0:00:00.120)       0:00:20.722 ****\nFAILED - RETRYING: [aio]: Download item (4 retries left).\nchanged: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:19:26 +0000 (0:00:10.302)       0:00:31.024 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  17:19:31 +0000 (0:00:04.627)       0:00:35.652 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  17:19:33 +0000 (0:00:01.500)       0:00:37.152 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  17:19:33 +0000 (0:00:00.381)       0:00:37.534 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  17:19:33 +0000 (0:00:00.470)       0:00:38.005 ****\nchanged: [aio] => (item={'path': '/etc/docker'})\nchanged: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nchanged: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 17 September 2026  17:19:34 +0000 (0:00:00.627)       0:00:38.633 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  17:19:35 +0000 (0:00:00.482)       0:00:39.115 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  17:19:35 +0000 (0:00:00.505)       0:00:39.620 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nThursday 17 September 2026  17:19:35 +0000 (0:00:00.009)       0:00:39.629 ****\nok: [aio]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nThursday 17 September 2026  17:19:36 +0000 (0:00:00.843)       0:00:40.473 ****\nchanged: [aio]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  17:19:37 +0000 (0:00:01.078)       0:00:41.551 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  17:19:38 +0000 (0:00:00.565)       0:00:42.116 ****\nok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 17 September 2026  17:19:38 +0000 (0:00:00.060)       0:00:42.177 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  17:19:44 +0000 (0:00:05.936)       0:00:48.113 ****\nok: [aio] => (item=chronyd)\nok: [aio] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  17:19:44 +0000 (0:00:00.737)       0:00:48.850 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  17:19:47 +0000 (0:00:02.835)       0:00:51.686 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  17:19:47 +0000 (0:00:00.223)       0:00:51.909 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  17:19:48 +0000 (0:00:00.471)       0:00:52.380 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nThursday 17 September 2026  17:19:48 +0000 (0:00:00.374)       0:00:52.755 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nThursday 17 September 2026  17:19:48 +0000 (0:00:00.135)       0:00:52.890 ****\nok: [aio] => (item=aio)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nThursday 17 September 2026  17:19:49 +0000 (0:00:00.265)       0:00:53.156 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nThursday 17 September 2026  17:19:49 +0000 (0:00:00.065)       0:00:53.221 ****\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for aio\n\nTASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************\nThursday 17 September 2026  17:19:49 +0000 (0:00:00.097)       0:00:53.318 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nThursday 17 September 2026  17:19:49 +0000 (0:00:00.312)       0:00:53.631 ****\nchanged: [aio] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\nchanged: [aio] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\nchanged: [aio] => (item={'option': 'mon data avail warn', 'section': 'mon', 'value': 10})\n\nTASK [vexxhost.ceph.mon : Run Bootstrap command] *******************************\nThursday 17 September 2026  17:19:50 +0000 (0:00:00.746)       0:00:54.377 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nThursday 17 September 2026  17:21:35 +0000 (0:01:45.255)       0:02:39.633 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nThursday 17 September 2026  17:21:35 +0000 (0:00:00.259)       0:02:39.892 ****\nok: [aio]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  17:21:35 +0000 (0:00:00.038)       0:02:39.930 ****\nincluded: vexxhost.ceph.cephadm_host for aio\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  17:21:35 +0000 (0:00:00.068)       0:02:39.999 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  17:21:37 +0000 (0:00:01.528)       0:02:41.527 ****\nok: [aio] => (item=aio)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  17:21:37 +0000 (0:00:00.060)       0:02:41.588 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  17:21:37 +0000 (0:00:00.369)       0:02:41.957 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nThursday 17 September 2026  17:21:40 +0000 (0:00:02.258)       0:02:44.216 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nThursday 17 September 2026  17:21:43 +0000 (0:00:02.990)       0:02:47.206 ****\nok: [aio]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  17:21:44 +0000 (0:00:01.542)       0:02:48.749 ****\nincluded: vexxhost.ceph.cephadm_host for aio\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  17:21:44 +0000 (0:00:00.068)       0:02:48.818 ****\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  17:21:44 +0000 (0:00:00.049)       0:02:48.868 ****\nskipping: [aio] => (item=aio)\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  17:21:44 +0000 (0:00:00.052)       0:02:48.921 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  17:21:45 +0000 (0:00:00.260)       0:02:49.181 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nThursday 17 September 2026  17:21:47 +0000 (0:00:02.253)       0:02:51.434 ****\nchanged: [aio]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nThursday 17 September 2026  17:21:50 +0000 (0:00:02.998)       0:02:54.433 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mgr : Configure manager modules] ***************************\nThursday 17 September 2026  17:21:51 +0000 (0:00:01.548)       0:02:55.981 ****\nchanged: [aio] => (item={'name': 'diskprediction_local'})\nok: [aio] => (item={'name': 'dashboard'})\nchanged: [aio] => (item={'name': 'prometheus'})\nok: [aio] => (item={'name': 'iostat'})\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:21:57 +0000 (0:00:05.807)       0:03:01.788 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:21:58 +0000 (0:00:00.937)       0:03:02.726 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:21:58 +0000 (0:00:00.195)       0:03:02.921 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  17:21:58 +0000 (0:00:00.037)       0:03:02.959 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:21:59 +0000 (0:00:00.224)       0:03:03.183 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:21:59 +0000 (0:00:00.047)       0:03:03.230 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:21:59 +0000 (0:00:00.338)       0:03:03.568 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:21:59 +0000 (0:00:00.040)       0:03:03.609 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:21:59 +0000 (0:00:00.037)       0:03:03.646 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:21:59 +0000 (0:00:00.206)       0:03:03.853 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:22:01 +0000 (0:00:01.301)       0:03:05.154 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:22:01 +0000 (0:00:00.068)       0:03:05.223 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:22:01 +0000 (0:00:00.357)       0:03:05.580 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  17:22:03 +0000 (0:00:01.940)       0:03:07.520 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  17:22:03 +0000 (0:00:00.036)       0:03:07.557 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  17:22:03 +0000 (0:00:00.038)       0:03:07.595 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  17:22:03 +0000 (0:00:00.031)       0:03:07.627 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  17:22:04 +0000 (0:00:01.224)       0:03:08.851 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  17:22:05 +0000 (0:00:00.479)       0:03:09.331 ****\nok: [aio] => (item={'path': '/etc/containerd'})\nok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 17 September 2026  17:22:06 +0000 (0:00:00.999)       0:03:10.330 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  17:22:06 +0000 (0:00:00.508)       0:03:10.839 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  17:22:06 +0000 (0:00:00.010)       0:03:10.849 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:22:07 +0000 (0:00:00.369)       0:03:11.219 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:22:07 +0000 (0:00:00.184)       0:03:11.403 ****\nok: [aio] => {\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] *******************\nThursday 17 September 2026  17:22:07 +0000 (0:00:00.051)       0:03:11.454 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:22:07 +0000 (0:00:00.372)       0:03:11.826 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  17:22:10 +0000 (0:00:03.175)       0:03:15.002 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  17:22:12 +0000 (0:00:01.324)       0:03:16.327 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  17:22:12 +0000 (0:00:00.229)       0:03:16.556 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  17:22:12 +0000 (0:00:00.448)       0:03:17.005 ****\nok: [aio] => (item={'path': '/etc/docker'})\nok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 17 September 2026  17:22:13 +0000 (0:00:00.630)       0:03:17.635 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  17:22:14 +0000 (0:00:00.445)       0:03:18.081 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  17:22:14 +0000 (0:00:00.480)       0:03:18.561 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  17:22:14 +0000 (0:00:00.006)       0:03:18.567 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  17:22:14 +0000 (0:00:00.395)       0:03:18.963 ****\nok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 17 September 2026  17:22:14 +0000 (0:00:00.051)       0:03:19.014 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  17:22:16 +0000 (0:00:01.123)       0:03:20.138 ****\nok: [aio] => (item=chronyd)\nok: [aio] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  17:22:16 +0000 (0:00:00.664)       0:03:20.803 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  17:22:20 +0000 (0:00:03.430)       0:03:24.233 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  17:22:20 +0000 (0:00:00.253)       0:03:24.487 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  17:22:20 +0000 (0:00:00.249)       0:03:24.737 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nThursday 17 September 2026  17:22:20 +0000 (0:00:00.241)       0:03:24.978 ****\nok: [aio] => (item=aio)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nThursday 17 September 2026  17:22:21 +0000 (0:00:00.272)       0:03:25.250 ****\nok: [aio]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  17:22:21 +0000 (0:00:00.058)       0:03:25.309 ****\nincluded: vexxhost.ceph.cephadm_host for aio\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  17:22:21 +0000 (0:00:00.070)       0:03:25.379 ****\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  17:22:21 +0000 (0:00:00.058)       0:03:25.438 ****\nskipping: [aio] => (item=aio)\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  17:22:21 +0000 (0:00:00.064)       0:03:25.502 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  17:22:21 +0000 (0:00:00.323)       0:03:25.825 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nThursday 17 September 2026  17:22:24 +0000 (0:00:02.369)       0:03:28.194 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nThursday 17 September 2026  17:22:29 +0000 (0:00:05.670)       0:03:33.865 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nThursday 17 September 2026  17:22:31 +0000 (0:00:01.352)       0:03:35.217 ****\nok: [aio] => (item=/dev/ceph-aio-osd0/data)\nok: [aio] => (item=/dev/ceph-aio-osd1/data)\nok: [aio] => (item=/dev/ceph-aio-osd2/data)\n\nTASK [vexxhost.ceph.osd : Get mon dump] ****************************************\nThursday 17 September 2026  17:25:15 +0000 (0:02:44.021)       0:06:19.239 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nThursday 17 September 2026  17:25:17 +0000 (0:00:01.852)       0:06:21.091 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nThursday 17 September 2026  17:25:18 +0000 (0:00:01.615)       0:06:22.707 ****\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for aio\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nThursday 17 September 2026  17:25:18 +0000 (0:00:00.052)       0:06:22.759 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nThursday 17 September 2026  17:25:18 +0000 (0:00:00.048)       0:06:22.808 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nThursday 17 September 2026  17:25:20 +0000 (0:00:01.722)       0:06:24.530 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nThursday 17 September 2026  17:25:20 +0000 (0:00:00.048)       0:06:24.578 ****\nfailed: [aio] (item=2) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": 2, \"msg\": \"Failed as requested from task\"}\nskipping: [aio] => (item=1)\nskipping: [aio] => (item=1)\n\nTASK [vexxhost.ceph.osd : Failed after retry] **********************************\nThursday 17 September 2026  17:25:20 +0000 (0:00:00.050)       0:06:24.629 ****\nskipping: [aio]\n\nTASK [vexxhost.ceph.osd : Give 5 seconds pause before retry] *******************\nThursday 17 September 2026  17:25:20 +0000 (0:00:00.034)       0:06:24.663 ****\nPausing for 5 seconds\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Recheck OSDs] ****************************************\nThursday 17 September 2026  17:25:25 +0000 (0:00:05.039)       0:06:29.702 ****\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for aio\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nThursday 17 September 2026  17:25:25 +0000 (0:00:00.058)       0:06:29.761 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nThursday 17 September 2026  17:25:25 +0000 (0:00:00.048)       0:06:29.810 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nThursday 17 September 2026  17:25:27 +0000 (0:00:01.542)       0:06:31.352 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nThursday 17 September 2026  17:25:27 +0000 (0:00:00.055)       0:06:31.408 ****\nskipping: [aio] => (item=1)\nskipping: [aio] => (item=1)\nskipping: [aio] => (item=1)\nskipping: [aio]\n\nTASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\nThursday 17 September 2026  17:25:27 +0000 (0:00:00.053)       0:06:31.461 ****\nskipping: [aio]\n\nPLAY [Deploy Ceph exporters] ***************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:25:27 +0000 (0:00:00.078)       0:06:31.540 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:25:28 +0000 (0:00:01.019)       0:06:32.559 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:25:28 +0000 (0:00:00.236)       0:06:32.796 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  17:25:28 +0000 (0:00:00.037)       0:06:32.834 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:25:29 +0000 (0:00:00.244)       0:06:33.078 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:25:29 +0000 (0:00:00.072)       0:06:33.151 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:25:29 +0000 (0:00:00.319)       0:06:33.470 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:25:29 +0000 (0:00:00.045)       0:06:33.516 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:25:29 +0000 (0:00:00.032)       0:06:33.548 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:25:29 +0000 (0:00:00.201)       0:06:33.750 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:25:30 +0000 (0:00:01.140)       0:06:34.890 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:25:30 +0000 (0:00:00.089)       0:06:34.980 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:25:31 +0000 (0:00:00.391)       0:06:35.371 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  17:25:33 +0000 (0:00:02.073)       0:06:37.444 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  17:25:33 +0000 (0:00:00.031)       0:06:37.476 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  17:25:33 +0000 (0:00:00.042)       0:06:37.518 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  17:25:33 +0000 (0:00:00.032)       0:06:37.550 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  17:25:35 +0000 (0:00:01.634)       0:06:39.185 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  17:25:35 +0000 (0:00:00.495)       0:06:39.680 ****\nok: [aio] => (item={'path': '/etc/containerd'})\nok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 17 September 2026  17:25:36 +0000 (0:00:01.053)       0:06:40.734 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  17:25:37 +0000 (0:00:00.552)       0:06:41.286 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  17:25:37 +0000 (0:00:00.011)       0:06:41.297 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:25:37 +0000 (0:00:00.398)       0:06:41.696 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:25:37 +0000 (0:00:00.254)       0:06:41.951 ****\nok: [aio] => {\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] *******************\nThursday 17 September 2026  17:25:37 +0000 (0:00:00.074)       0:06:42.025 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:25:38 +0000 (0:00:00.396)       0:06:42.422 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  17:25:41 +0000 (0:00:03.204)       0:06:45.626 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  17:25:42 +0000 (0:00:01.178)       0:06:46.804 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  17:25:42 +0000 (0:00:00.233)       0:06:47.038 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  17:25:43 +0000 (0:00:00.496)       0:06:47.535 ****\nok: [aio] => (item={'path': '/etc/docker'})\nok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 17 September 2026  17:25:44 +0000 (0:00:00.658)       0:06:48.193 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  17:25:44 +0000 (0:00:00.419)       0:06:48.613 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  17:25:44 +0000 (0:00:00.404)       0:06:49.017 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  17:25:44 +0000 (0:00:00.004)       0:06:49.022 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  17:25:45 +0000 (0:00:00.380)       0:06:49.402 ****\nok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 17 September 2026  17:25:45 +0000 (0:00:00.060)       0:06:49.462 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  17:25:46 +0000 (0:00:01.088)       0:06:50.551 ****\nok: [aio] => (item=chronyd)\nok: [aio] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  17:25:47 +0000 (0:00:00.660)       0:06:51.211 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  17:25:48 +0000 (0:00:01.379)       0:06:52.590 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  17:25:48 +0000 (0:00:00.222)       0:06:52.813 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  17:25:49 +0000 (0:00:00.281)       0:06:53.095 ****\nok: [aio]\n\nTASK [vexxhost.ceph.ceph_exporter : Configure Ceph exporter service] ***********\nThursday 17 September 2026  17:25:49 +0000 (0:00:00.218)       0:06:53.314 ****\nchanged: [aio]\n\nPLAY RECAP *********************************************************************\naio                        : ok=145  changed=30   unreachable=0    failed=0    skipped=25   rescued=1    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 17 September 2026  17:25:52 +0000 (0:00:02.865)       0:06:56.179 ****\n===============================================================================\nvexxhost.ceph.osd : Install OSDs -------------------------------------- 164.02s\nvexxhost.ceph.mon : Run Bootstrap command ----------------------------- 105.26s\nvexxhost.containers.download_artifact : Download item ------------------ 10.30s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 7.18s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 5.94s\nvexxhost.ceph.mgr : Configure manager modules --------------------------- 5.81s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.67s\nvexxhost.ceph.osd : Give 5 seconds pause before retry ------------------- 5.04s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.63s\nvexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 3.43s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.20s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.18s\nvexxhost.ceph.mgr : Configure \"mgr\" label for managers ------------------ 3.00s\nvexxhost.ceph.mon : Configure \"mon\" label for monitors ------------------ 2.99s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.93s\nvexxhost.ceph.ceph_exporter : Configure Ceph exporter service ----------- 2.87s\nvexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 2.84s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.37s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.26s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.25s\nINFO     [default > converge] Executed: Successful\nINFO     [default > idempotence] Executing\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:25:53 +0000 (0:00:00.040)       0:00:00.040 ****\n[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:25:54 +0000 (0:00:01.308)       0:00:01.348 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:25:54 +0000 (0:00:00.359)       0:00:01.708 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  17:25:54 +0000 (0:00:00.043)       0:00:01.751 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:25:55 +0000 (0:00:00.351)       0:00:02.102 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:25:55 +0000 (0:00:00.097)       0:00:02.200 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:25:55 +0000 (0:00:00.514)       0:00:02.714 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:25:55 +0000 (0:00:00.048)       0:00:02.762 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:25:55 +0000 (0:00:00.044)       0:00:02.807 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:25:56 +0000 (0:00:00.253)       0:00:03.061 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:25:58 +0000 (0:00:02.652)       0:00:05.714 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:25:58 +0000 (0:00:00.092)       0:00:05.806 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:25:59 +0000 (0:00:00.391)       0:00:06.198 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  17:26:01 +0000 (0:00:02.343)       0:00:08.542 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  17:26:01 +0000 (0:00:00.031)       0:00:08.574 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  17:26:01 +0000 (0:00:00.037)       0:00:08.611 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  17:26:01 +0000 (0:00:00.035)       0:00:08.646 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  17:26:03 +0000 (0:00:01.367)       0:00:10.014 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  17:26:03 +0000 (0:00:00.484)       0:00:10.498 ****\nok: [aio] => (item={'path': '/etc/containerd'})\nok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 17 September 2026  17:26:04 +0000 (0:00:00.993)       0:00:11.492 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  17:26:05 +0000 (0:00:00.588)       0:00:12.080 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  17:26:05 +0000 (0:00:00.009)       0:00:12.090 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:26:05 +0000 (0:00:00.625)       0:00:12.715 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:26:06 +0000 (0:00:00.218)       0:00:12.933 ****\nok: [aio] => {\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] *******************\nThursday 17 September 2026  17:26:06 +0000 (0:00:00.067)       0:00:13.000 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:26:06 +0000 (0:00:00.380)       0:00:13.380 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  17:26:09 +0000 (0:00:03.161)       0:00:16.542 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  17:26:10 +0000 (0:00:01.090)       0:00:17.632 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  17:26:11 +0000 (0:00:00.321)       0:00:17.954 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  17:26:11 +0000 (0:00:00.449)       0:00:18.404 ****\nok: [aio] => (item={'path': '/etc/docker'})\nok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 17 September 2026  17:26:12 +0000 (0:00:00.646)       0:00:19.051 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  17:26:12 +0000 (0:00:00.501)       0:00:19.552 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  17:26:13 +0000 (0:00:00.463)       0:00:20.015 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  17:26:13 +0000 (0:00:00.006)       0:00:20.021 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  17:26:13 +0000 (0:00:00.389)       0:00:20.411 ****\nok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 17 September 2026  17:26:13 +0000 (0:00:00.065)       0:00:20.477 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  17:26:14 +0000 (0:00:01.366)       0:00:21.843 ****\nok: [aio] => (item=chronyd)\nok: [aio] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  17:26:15 +0000 (0:00:00.709)       0:00:22.553 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  17:26:16 +0000 (0:00:01.360)       0:00:23.914 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  17:26:17 +0000 (0:00:00.208)       0:00:24.122 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  17:26:17 +0000 (0:00:00.357)       0:00:24.480 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nThursday 17 September 2026  17:26:17 +0000 (0:00:00.306)       0:00:24.786 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nThursday 17 September 2026  17:26:17 +0000 (0:00:00.081)       0:00:24.867 ****\nok: [aio] => (item=aio)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nThursday 17 September 2026  17:26:18 +0000 (0:00:00.241)       0:00:25.108 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nThursday 17 September 2026  17:26:18 +0000 (0:00:00.063)       0:00:25.172 ****\nskipping: [aio]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  17:26:18 +0000 (0:00:00.048)       0:00:25.220 ****\nincluded: vexxhost.ceph.cephadm_host for aio\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  17:26:18 +0000 (0:00:00.075)       0:00:25.295 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  17:26:20 +0000 (0:00:01.705)       0:00:27.001 ****\nok: [aio] => (item=aio)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  17:26:20 +0000 (0:00:00.073)       0:00:27.074 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  17:26:20 +0000 (0:00:00.379)       0:00:27.454 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nThursday 17 September 2026  17:26:22 +0000 (0:00:02.326)       0:00:29.781 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nThursday 17 September 2026  17:26:24 +0000 (0:00:01.656)       0:00:31.437 ****\nok: [aio]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  17:26:26 +0000 (0:00:01.611)       0:00:33.049 ****\nincluded: vexxhost.ceph.cephadm_host for aio\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  17:26:26 +0000 (0:00:00.068)       0:00:33.117 ****\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  17:26:26 +0000 (0:00:00.062)       0:00:33.180 ****\nskipping: [aio] => (item=aio)\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  17:26:26 +0000 (0:00:00.049)       0:00:33.229 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  17:26:26 +0000 (0:00:00.322)       0:00:33.552 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nThursday 17 September 2026  17:26:28 +0000 (0:00:02.177)       0:00:35.729 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nThursday 17 September 2026  17:26:30 +0000 (0:00:01.507)       0:00:37.237 ****\nok: [aio]\n\nTASK [vexxhost.ceph.mgr : Configure manager modules] ***************************\nThursday 17 September 2026  17:26:31 +0000 (0:00:01.530)       0:00:38.768 ****\nok: [aio] => (item={'name': 'diskprediction_local'})\nok: [aio] => (item={'name': 'dashboard'})\nok: [aio] => (item={'name': 'prometheus'})\nok: [aio] => (item={'name': 'iostat'})\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:26:40 +0000 (0:00:08.200)       0:00:46.968 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.966)       0:00:47.935 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.228)       0:00:48.164 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.036)       0:00:48.200 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.214)       0:00:48.415 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.100)       0:00:48.515 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.339)       0:00:48.855 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:26:41 +0000 (0:00:00.034)       0:00:48.889 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:26:42 +0000 (0:00:00.038)       0:00:48.928 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:26:42 +0000 (0:00:00.247)       0:00:49.176 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:26:43 +0000 (0:00:01.181)       0:00:50.358 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:26:43 +0000 (0:00:00.095)       0:00:50.453 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:26:43 +0000 (0:00:00.366)       0:00:50.819 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  17:26:45 +0000 (0:00:02.034)       0:00:52.854 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  17:26:45 +0000 (0:00:00.029)       0:00:52.884 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  17:26:46 +0000 (0:00:00.035)       0:00:52.919 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  17:26:46 +0000 (0:00:00.024)       0:00:52.944 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  17:26:47 +0000 (0:00:01.175)       0:00:54.120 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  17:26:47 +0000 (0:00:00.481)       0:00:54.601 ****\nok: [aio] => (item={'path': '/etc/containerd'})\nok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 17 September 2026  17:26:48 +0000 (0:00:01.124)       0:00:55.726 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  17:26:49 +0000 (0:00:00.616)       0:00:56.342 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  17:26:49 +0000 (0:00:00.006)       0:00:56.349 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:26:49 +0000 (0:00:00.384)       0:00:56.734 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:26:50 +0000 (0:00:00.234)       0:00:56.969 ****\nok: [aio] => {\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] *******************\nThursday 17 September 2026  17:26:50 +0000 (0:00:00.076)       0:00:57.045 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:26:50 +0000 (0:00:00.336)       0:00:57.382 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  17:26:53 +0000 (0:00:03.156)       0:01:00.539 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  17:26:55 +0000 (0:00:01.379)       0:01:01.918 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  17:26:55 +0000 (0:00:00.234)       0:01:02.153 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  17:26:55 +0000 (0:00:00.489)       0:01:02.642 ****\nok: [aio] => (item={'path': '/etc/docker'})\nok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 17 September 2026  17:26:56 +0000 (0:00:00.621)       0:01:03.263 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  17:26:56 +0000 (0:00:00.438)       0:01:03.702 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  17:26:57 +0000 (0:00:00.475)       0:01:04.178 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  17:26:57 +0000 (0:00:00.008)       0:01:04.186 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  17:26:57 +0000 (0:00:00.399)       0:01:04.586 ****\nok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 17 September 2026  17:26:57 +0000 (0:00:00.072)       0:01:04.659 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  17:26:59 +0000 (0:00:01.278)       0:01:05.937 ****\nok: [aio] => (item=chronyd)\nok: [aio] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  17:26:59 +0000 (0:00:00.690)       0:01:06.628 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  17:27:03 +0000 (0:00:03.934)       0:01:10.562 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  17:27:03 +0000 (0:00:00.235)       0:01:10.797 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.286)       0:01:11.083 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.226)       0:01:11.310 ****\nok: [aio] => (item=aio)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.244)       0:01:11.555 ****\nok: [aio]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.055)       0:01:11.610 ****\nincluded: vexxhost.ceph.cephadm_host for aio\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.070)       0:01:11.680 ****\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.033)       0:01:11.714 ****\nskipping: [aio] => (item=aio)\nskipping: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  17:27:04 +0000 (0:00:00.037)       0:01:11.752 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  17:27:05 +0000 (0:00:00.268)       0:01:12.020 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nThursday 17 September 2026  17:27:07 +0000 (0:00:02.158)       0:01:14.179 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nThursday 17 September 2026  17:27:13 +0000 (0:00:06.112)       0:01:20.291 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nThursday 17 September 2026  17:27:14 +0000 (0:00:01.399)       0:01:21.691 ****\nskipping: [aio] => (item=/dev/ceph-aio-osd0/data)\nskipping: [aio] => (item=/dev/ceph-aio-osd1/data)\nskipping: [aio] => (item=/dev/ceph-aio-osd2/data)\nskipping: [aio]\n\nTASK [vexxhost.ceph.osd : Get mon dump] ****************************************\nThursday 17 September 2026  17:27:14 +0000 (0:00:00.096)       0:01:21.788 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nThursday 17 September 2026  17:27:16 +0000 (0:00:01.663)       0:01:23.451 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nThursday 17 September 2026  17:27:18 +0000 (0:00:01.501)       0:01:24.952 ****\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for aio\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nThursday 17 September 2026  17:27:18 +0000 (0:00:00.056)       0:01:25.009 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nThursday 17 September 2026  17:27:18 +0000 (0:00:00.058)       0:01:25.067 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nThursday 17 September 2026  17:27:19 +0000 (0:00:01.586)       0:01:26.653 ****\nok: [aio]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nThursday 17 September 2026  17:27:19 +0000 (0:00:00.060)       0:01:26.714 ****\nskipping: [aio] => (item=1)\nskipping: [aio] => (item=1)\nskipping: [aio] => (item=1)\nskipping: [aio]\n\nTASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\nThursday 17 September 2026  17:27:19 +0000 (0:00:00.043)       0:01:26.757 ****\nskipping: [aio]\n\nPLAY [Deploy Ceph exporters] ***************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:27:19 +0000 (0:00:00.064)       0:01:26.821 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:27:20 +0000 (0:00:00.935)       0:01:27.757 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.230)       0:01:27.987 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.043)       0:01:28.031 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.224)       0:01:28.255 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.069)       0:01:28.325 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.359)       0:01:28.684 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.037)       0:01:28.722 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:27:21 +0000 (0:00:00.035)       0:01:28.758 ****\nok: [aio]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  17:27:22 +0000 (0:00:00.225)       0:01:28.983 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:27:23 +0000 (0:00:01.204)       0:01:30.188 ****\nok: [aio] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 17 September 2026  17:27:23 +0000 (0:00:00.097)       0:01:30.286 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:27:23 +0000 (0:00:00.370)       0:01:30.657 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  17:27:25 +0000 (0:00:02.024)       0:01:32.681 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  17:27:25 +0000 (0:00:00.030)       0:01:32.712 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  17:27:25 +0000 (0:00:00.028)       0:01:32.741 ****\nskipping: [aio]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  17:27:25 +0000 (0:00:00.028)       0:01:32.769 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  17:27:27 +0000 (0:00:01.234)       0:01:34.004 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  17:27:27 +0000 (0:00:00.500)       0:01:34.504 ****\nok: [aio] => (item={'path': '/etc/containerd'})\nok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 17 September 2026  17:27:28 +0000 (0:00:01.010)       0:01:35.515 ****\nok: [aio]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  17:27:29 +0000 (0:00:00.518)       0:01:36.033 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  17:27:29 +0000 (0:00:00.007)       0:01:36.041 ****\nok: [aio]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  17:27:29 +0000 (0:00:00.375)       0:01:36.416 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  17:27:29 +0000 (0:00:00.228)       0:01:36.645 ****\nok: [aio] => {\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] *******************\nThursday 17 September 2026  17:27:29 +0000 (0:00:00.093)       0:01:36.738 ****\nok: [aio]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  17:27:30 +0000 (0:00:00.388)       0:01:37.126 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  17:27:33 +0000 (0:00:03.312)       0:01:40.438 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  17:27:34 +0000 (0:00:01.142)       0:01:41.581 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  17:27:34 +0000 (0:00:00.196)       0:01:41.778 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  17:27:35 +0000 (0:00:00.481)       0:01:42.259 ****\nok: [aio] => (item={'path': '/etc/docker'})\nok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 17 September 2026  17:27:35 +0000 (0:00:00.613)       0:01:42.872 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  17:27:36 +0000 (0:00:00.453)       0:01:43.325 ****\nok: [aio]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  17:27:36 +0000 (0:00:00.427)       0:01:43.753 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  17:27:36 +0000 (0:00:00.004)       0:01:43.757 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  17:27:37 +0000 (0:00:00.343)       0:01:44.100 ****\nok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 17 September 2026  17:27:37 +0000 (0:00:00.048)       0:01:44.148 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  17:27:38 +0000 (0:00:01.212)       0:01:45.360 ****\nok: [aio] => (item=chronyd)\nok: [aio] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  17:27:39 +0000 (0:00:00.695)       0:01:46.056 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  17:27:44 +0000 (0:00:05.774)       0:01:51.830 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  17:27:45 +0000 (0:00:00.232)       0:01:52.063 ****\nok: [aio]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  17:27:45 +0000 (0:00:00.266)       0:01:52.330 ****\nok: [aio]\n\nTASK [vexxhost.ceph.ceph_exporter : Configure Ceph exporter service] ***********\nThursday 17 September 2026  17:27:45 +0000 (0:00:00.215)       0:01:52.545 ****\nok: [aio]\n\nPLAY RECAP *********************************************************************\naio                        : ok=129  changed=0    unreachable=0    failed=0    skipped=26   rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 17 September 2026  17:27:47 +0000 (0:00:01.543)       0:01:54.088 ****\n===============================================================================\nvexxhost.ceph.mgr : Configure manager modules --------------------------- 8.20s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 6.11s\nvexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 5.77s\nvexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 3.93s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.31s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.16s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.16s\nvexxhost.containers.package : Update state for tar ---------------------- 2.65s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.34s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.33s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.18s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.16s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.03s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.02s\nvexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 1.71s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.66s\nvexxhost.ceph.mon : Configure \"mon\" label for monitors ------------------ 1.66s\nvexxhost.ceph.mon : Validate monitor exist ------------------------------ 1.61s\nvexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 1.59s\nvexxhost.ceph.ceph_exporter : Configure Ceph exporter service ----------- 1.54s\nINFO     [default > idempotence] Executed: Successful\nINFO     [default > side_effect] Executing\nWARNING  [default > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [default > verify] Executing\n\nPLAY [Verify] ******************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  17:27:47 +0000 (0:00:00.007)       0:00:00.007 ****\n[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.\nok: [aio]\n\nTASK [List locally deployed Ceph daemons] **************************************\nThursday 17 September 2026  17:27:49 +0000 (0:00:01.303)       0:00:01.310 ****\nok: [aio]\n\nTASK [Collect deployed Ceph container images] **********************************\nThursday 17 September 2026  17:27:55 +0000 (0:00:05.922)       0:00:07.232 ****\nok: [aio]\n\nTASK [Assert that a deployed Ceph container image was found] *******************\nThursday 17 September 2026  17:27:55 +0000 (0:00:00.050)       0:00:07.283 ****\nok: [aio] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Get cluster health status] ***********************************************\nThursday 17 September 2026  17:27:55 +0000 (0:00:00.040)       0:00:07.323 ****\nok: [aio]\n\nTASK [Print cluster health status] *********************************************\nThursday 17 September 2026  17:27:56 +0000 (0:00:01.613)       0:00:08.936 ****\nok: [aio] => {\n    \"_ceph_health\": {\n        \"changed\": false,\n        \"cmd\": [\n            \"cephadm\",\n            \"shell\",\n            \"--\",\n            \"ceph\",\n            \"health\"\n        ],\n        \"delta\": \"0:00:01.375720\",\n        \"end\": \"2026-09-17 17:27:56.755821\",\n        \"failed\": false,\n        \"msg\": \"\",\n        \"rc\": 0,\n        \"start\": \"2026-09-17 17:27:55.380101\",\n        \"stderr\": \"Inferring fsid 1dff0e0f-3c44-48da-81cd-4f3c6e8722b2\\nInferring config /var/lib/ceph/1dff0e0f-3c44-48da-81cd-4f3c6e8722b2/mon.aio/config\",\n        \"stderr_lines\": [\n            \"Inferring fsid 1dff0e0f-3c44-48da-81cd-4f3c6e8722b2\",\n            \"Inferring config /var/lib/ceph/1dff0e0f-3c44-48da-81cd-4f3c6e8722b2/mon.aio/config\"\n        ],\n        \"stdout\": \"HEALTH_OK\",\n        \"stdout_lines\": [\n            \"HEALTH_OK\"\n        ]\n    }\n}\n\nTASK [Assert that the cluster status is healthy] *******************************\nThursday 17 September 2026  17:27:56 +0000 (0:00:00.041)       0:00:08.978 ****\nok: [aio] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Create a test Ceph pool] *************************************************\nThursday 17 September 2026  17:27:56 +0000 (0:00:00.038)       0:00:09.016 ****\nchanged: [aio]\n\nTASK [Create a test Ceph key] **************************************************\nThursday 17 September 2026  17:28:02 +0000 (0:00:06.031)       0:00:15.048 ****\nchanged: [aio]\n\nTASK [Retrieve info for the test Ceph key] *************************************\nThursday 17 September 2026  17:28:05 +0000 (0:00:02.392)       0:00:17.440 ****\nok: [aio]\n\nTASK [Assert that key_info returns the correct key] ****************************\nThursday 17 September 2026  17:28:06 +0000 (0:00:01.210)       0:00:18.650 ****\nok: [aio] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Retrieve info for the test Ceph key using the legacy key module] *********\nThursday 17 September 2026  17:28:06 +0000 (0:00:00.055)       0:00:18.706 ****\nok: [aio]\n\nTASK [Assert that the legacy key module info state returns the correct key] ****\nThursday 17 September 2026  17:28:07 +0000 (0:00:01.085)       0:00:19.791 ****\nok: [aio] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nPLAY RECAP *********************************************************************\naio                        : ok=13   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 17 September 2026  17:28:07 +0000 (0:00:00.043)       0:00:19.834 ****\n===============================================================================\nCreate a test Ceph pool ------------------------------------------------- 6.03s\nList locally deployed Ceph daemons -------------------------------------- 5.92s\nCreate a test Ceph key -------------------------------------------------- 2.39s\nGet cluster health status ----------------------------------------------- 1.61s\nGathering Facts --------------------------------------------------------- 1.30s\nRetrieve info for the test Ceph key ------------------------------------- 1.21s\nRetrieve info for the test Ceph key using the legacy key module --------- 1.09s\nAssert that key_info returns the correct key ---------------------------- 0.06s\nCollect deployed Ceph container images ---------------------------------- 0.05s\nAssert that the legacy key module info state returns the correct key ---- 0.04s\nPrint cluster health status --------------------------------------------- 0.04s\nAssert that a deployed Ceph container image was found ------------------- 0.04s\nAssert that the cluster status is healthy ------------------------------- 0.04s\nINFO     [default > verify] Executed: Successful\nINFO     [default > cleanup] Executing\nWARNING  [default > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [default > destroy] Executing\nWARNING  [default > destroy] Skipping, '--destroy=never' requested.\nINFO     [default > destroy] Executed: Successful\nWARNING  Molecule executed 1 scenario (1 missing files)",
                            "stdout_lines": [
                                "INFO     Collection 'vexxhost.ceph' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "INFO     [default > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [default > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [default > dependency] Executing",
                                "WARNING  [default > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [default > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [default > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [default > cleanup] Executing",
                                "WARNING  [default > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [default > destroy] Executing",
                                "WARNING  [default > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [default > destroy] Executed: Successful",
                                "INFO     [default > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/ansible-collection-ceph/extensions/molecule/default/converge.yml",
                                "INFO     [default > syntax] Executed: Successful",
                                "INFO     [default > create] Executing",
                                "WARNING  [default > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [default > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:18:11 +0000 (0:00:00.031)       0:00:00.031 ****",
                                "[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [aio]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Thursday 17 September 2026  17:18:12 +0000 (0:00:01.234)       0:00:01.266 ****",
                                "changed: [aio]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Thursday 17 September 2026  17:18:13 +0000 (0:00:00.728)       0:00:01.994 ****",
                                "[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: [aio]",
                                "",
                                "TASK [Update apt cache] ********************************************************",
                                "Thursday 17 September 2026  17:18:13 +0000 (0:00:00.282)       0:00:02.277 ****",
                                "changed: [aio]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:18:21 +0000 (0:00:07.241)       0:00:09.519 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Thursday 17 September 2026  17:18:21 +0000 (0:00:00.757)       0:00:10.277 ****",
                                "changed: [aio]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Thursday 17 September 2026  17:18:45 +0000 (0:00:23.878)       0:00:34.156 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Thursday 17 September 2026  17:18:46 +0000 (0:00:00.574)       0:00:34.730 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Thursday 17 September 2026  17:18:46 +0000 (0:00:00.351)       0:00:35.082 ****",
                                "changed: [aio]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Thursday 17 September 2026  17:18:47 +0000 (0:00:00.669)       0:00:35.751 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Thursday 17 September 2026  17:18:47 +0000 (0:00:00.212)       0:00:35.963 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Thursday 17 September 2026  17:18:47 +0000 (0:00:00.024)       0:00:35.988 ****",
                                "changed: [aio] => (item=osd0)",
                                "changed: [aio] => (item=osd1)",
                                "changed: [aio] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Thursday 17 September 2026  17:18:48 +0000 (0:00:00.610)       0:00:36.598 ****",
                                "changed: [aio] => (item=osd0)",
                                "changed: [aio] => (item=osd1)",
                                "changed: [aio] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Thursday 17 September 2026  17:18:48 +0000 (0:00:00.678)       0:00:37.277 ****",
                                "changed: [aio] => (item=osd0)",
                                "changed: [aio] => (item=osd1)",
                                "changed: [aio] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Thursday 17 September 2026  17:18:49 +0000 (0:00:00.831)       0:00:38.108 ****",
                                "changed: [aio] => (item=osd0)",
                                "changed: [aio] => (item=osd1)",
                                "changed: [aio] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Thursday 17 September 2026  17:18:53 +0000 (0:00:03.299)       0:00:41.407 ****",
                                "changed: [aio] => (item=ceph-aio-osd0)",
                                "changed: [aio] => (item=ceph-aio-osd1)",
                                "changed: [aio] => (item=ceph-aio-osd2)",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "aio                        : ok=15   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 17 September 2026  17:18:54 +0000 (0:00:01.978)       0:00:43.386 ****",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 23.88s",
                                "Update apt cache -------------------------------------------------------- 7.24s",
                                "Create a volume group for each loop device ------------------------------ 3.30s",
                                "Create a logical volume for each loop device ---------------------------- 1.98s",
                                "Gathering Facts --------------------------------------------------------- 1.23s",
                                "Start loop devices ------------------------------------------------------ 0.83s",
                                "Gathering Facts --------------------------------------------------------- 0.76s",
                                "Configure short hostname ------------------------------------------------ 0.73s",
                                "Set permissions on loopback devices ------------------------------------- 0.68s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.67s",
                                "Create devices for Ceph ------------------------------------------------- 0.61s",
                                "Start up service -------------------------------------------------------- 0.57s",
                                "Generate lvm.conf ------------------------------------------------------- 0.35s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.28s",
                                "Get list of all loopback devices ---------------------------------------- 0.21s",
                                "Fail if there is any existing loopback devices -------------------------- 0.02s",
                                "INFO     [default > prepare] Executed: Successful",
                                "INFO     [default > converge] Executing",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:18:55 +0000 (0:00:00.042)       0:00:00.042 ****",
                                "[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:18:57 +0000 (0:00:01.266)       0:00:01.309 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:18:57 +0000 (0:00:00.288)       0:00:01.597 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  17:18:57 +0000 (0:00:00.039)       0:00:01.637 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:18:57 +0000 (0:00:00.313)       0:00:01.951 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:18:58 +0000 (0:00:00.119)       0:00:02.070 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:18:58 +0000 (0:00:00.812)       0:00:02.882 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:18:58 +0000 (0:00:00.059)       0:00:02.942 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:18:58 +0000 (0:00:00.045)       0:00:02.987 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:18:59 +0000 (0:00:00.230)       0:00:03.218 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:19:00 +0000 (0:00:01.479)       0:00:04.697 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:19:00 +0000 (0:00:00.106)       0:00:04.804 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:19:01 +0000 (0:00:00.808)       0:00:05.613 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  17:19:04 +0000 (0:00:02.928)       0:00:08.541 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  17:19:04 +0000 (0:00:00.024)       0:00:08.566 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  17:19:04 +0000 (0:00:00.034)       0:00:08.601 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  17:19:04 +0000 (0:00:00.028)       0:00:08.630 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  17:19:11 +0000 (0:00:07.175)       0:00:15.805 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  17:19:12 +0000 (0:00:00.638)       0:00:16.444 ****",
                                "changed: [aio] => (item={'path': '/etc/containerd'})",
                                "changed: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 17 September 2026  17:19:13 +0000 (0:00:01.022)       0:00:17.466 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  17:19:14 +0000 (0:00:00.705)       0:00:18.171 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Thursday 17 September 2026  17:19:14 +0000 (0:00:00.010)       0:00:18.182 ****",
                                "ok: [aio]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Thursday 17 September 2026  17:19:15 +0000 (0:00:01.042)       0:00:19.224 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  17:19:15 +0000 (0:00:00.525)       0:00:19.750 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:19:16 +0000 (0:00:00.586)       0:00:20.336 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:19:16 +0000 (0:00:00.264)       0:00:20.601 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:19:16 +0000 (0:00:00.120)       0:00:20.722 ****",
                                "FAILED - RETRYING: [aio]: Download item (4 retries left).",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:19:26 +0000 (0:00:10.302)       0:00:31.024 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  17:19:31 +0000 (0:00:04.627)       0:00:35.652 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  17:19:33 +0000 (0:00:01.500)       0:00:37.152 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  17:19:33 +0000 (0:00:00.381)       0:00:37.534 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  17:19:33 +0000 (0:00:00.470)       0:00:38.005 ****",
                                "changed: [aio] => (item={'path': '/etc/docker'})",
                                "changed: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "changed: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 17 September 2026  17:19:34 +0000 (0:00:00.627)       0:00:38.633 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  17:19:35 +0000 (0:00:00.482)       0:00:39.115 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  17:19:35 +0000 (0:00:00.505)       0:00:39.620 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Thursday 17 September 2026  17:19:35 +0000 (0:00:00.009)       0:00:39.629 ****",
                                "ok: [aio]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Thursday 17 September 2026  17:19:36 +0000 (0:00:00.843)       0:00:40.473 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  17:19:37 +0000 (0:00:01.078)       0:00:41.551 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  17:19:38 +0000 (0:00:00.565)       0:00:42.116 ****",
                                "ok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 17 September 2026  17:19:38 +0000 (0:00:00.060)       0:00:42.177 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  17:19:44 +0000 (0:00:05.936)       0:00:48.113 ****",
                                "ok: [aio] => (item=chronyd)",
                                "ok: [aio] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  17:19:44 +0000 (0:00:00.737)       0:00:48.850 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  17:19:47 +0000 (0:00:02.835)       0:00:51.686 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  17:19:47 +0000 (0:00:00.223)       0:00:51.909 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  17:19:48 +0000 (0:00:00.471)       0:00:52.380 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Thursday 17 September 2026  17:19:48 +0000 (0:00:00.374)       0:00:52.755 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Thursday 17 September 2026  17:19:48 +0000 (0:00:00.135)       0:00:52.890 ****",
                                "ok: [aio] => (item=aio)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Thursday 17 September 2026  17:19:49 +0000 (0:00:00.265)       0:00:53.156 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Thursday 17 September 2026  17:19:49 +0000 (0:00:00.065)       0:00:53.221 ****",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for aio",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************",
                                "Thursday 17 September 2026  17:19:49 +0000 (0:00:00.097)       0:00:53.318 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Thursday 17 September 2026  17:19:49 +0000 (0:00:00.312)       0:00:53.631 ****",
                                "changed: [aio] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})",
                                "changed: [aio] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})",
                                "changed: [aio] => (item={'option': 'mon data avail warn', 'section': 'mon', 'value': 10})",
                                "",
                                "TASK [vexxhost.ceph.mon : Run Bootstrap command] *******************************",
                                "Thursday 17 September 2026  17:19:50 +0000 (0:00:00.746)       0:00:54.377 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Thursday 17 September 2026  17:21:35 +0000 (0:01:45.255)       0:02:39.633 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Thursday 17 September 2026  17:21:35 +0000 (0:00:00.259)       0:02:39.892 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  17:21:35 +0000 (0:00:00.038)       0:02:39.930 ****",
                                "included: vexxhost.ceph.cephadm_host for aio",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  17:21:35 +0000 (0:00:00.068)       0:02:39.999 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  17:21:37 +0000 (0:00:01.528)       0:02:41.527 ****",
                                "ok: [aio] => (item=aio)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  17:21:37 +0000 (0:00:00.060)       0:02:41.588 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  17:21:37 +0000 (0:00:00.369)       0:02:41.957 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Thursday 17 September 2026  17:21:40 +0000 (0:00:02.258)       0:02:44.216 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Thursday 17 September 2026  17:21:43 +0000 (0:00:02.990)       0:02:47.206 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  17:21:44 +0000 (0:00:01.542)       0:02:48.749 ****",
                                "included: vexxhost.ceph.cephadm_host for aio",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  17:21:44 +0000 (0:00:00.068)       0:02:48.818 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  17:21:44 +0000 (0:00:00.049)       0:02:48.868 ****",
                                "skipping: [aio] => (item=aio)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  17:21:44 +0000 (0:00:00.052)       0:02:48.921 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  17:21:45 +0000 (0:00:00.260)       0:02:49.181 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Thursday 17 September 2026  17:21:47 +0000 (0:00:02.253)       0:02:51.434 ****",
                                "changed: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Thursday 17 September 2026  17:21:50 +0000 (0:00:02.998)       0:02:54.433 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure manager modules] ***************************",
                                "Thursday 17 September 2026  17:21:51 +0000 (0:00:01.548)       0:02:55.981 ****",
                                "changed: [aio] => (item={'name': 'diskprediction_local'})",
                                "ok: [aio] => (item={'name': 'dashboard'})",
                                "changed: [aio] => (item={'name': 'prometheus'})",
                                "ok: [aio] => (item={'name': 'iostat'})",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:21:57 +0000 (0:00:05.807)       0:03:01.788 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:21:58 +0000 (0:00:00.937)       0:03:02.726 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:21:58 +0000 (0:00:00.195)       0:03:02.921 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  17:21:58 +0000 (0:00:00.037)       0:03:02.959 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:21:59 +0000 (0:00:00.224)       0:03:03.183 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:21:59 +0000 (0:00:00.047)       0:03:03.230 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:21:59 +0000 (0:00:00.338)       0:03:03.568 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:21:59 +0000 (0:00:00.040)       0:03:03.609 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:21:59 +0000 (0:00:00.037)       0:03:03.646 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:21:59 +0000 (0:00:00.206)       0:03:03.853 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:22:01 +0000 (0:00:01.301)       0:03:05.154 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:22:01 +0000 (0:00:00.068)       0:03:05.223 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:22:01 +0000 (0:00:00.357)       0:03:05.580 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  17:22:03 +0000 (0:00:01.940)       0:03:07.520 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  17:22:03 +0000 (0:00:00.036)       0:03:07.557 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  17:22:03 +0000 (0:00:00.038)       0:03:07.595 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  17:22:03 +0000 (0:00:00.031)       0:03:07.627 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  17:22:04 +0000 (0:00:01.224)       0:03:08.851 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  17:22:05 +0000 (0:00:00.479)       0:03:09.331 ****",
                                "ok: [aio] => (item={'path': '/etc/containerd'})",
                                "ok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 17 September 2026  17:22:06 +0000 (0:00:00.999)       0:03:10.330 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  17:22:06 +0000 (0:00:00.508)       0:03:10.839 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  17:22:06 +0000 (0:00:00.010)       0:03:10.849 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:22:07 +0000 (0:00:00.369)       0:03:11.219 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:22:07 +0000 (0:00:00.184)       0:03:11.403 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:22:07 +0000 (0:00:00.051)       0:03:11.454 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:22:07 +0000 (0:00:00.372)       0:03:11.826 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  17:22:10 +0000 (0:00:03.175)       0:03:15.002 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  17:22:12 +0000 (0:00:01.324)       0:03:16.327 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  17:22:12 +0000 (0:00:00.229)       0:03:16.556 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  17:22:12 +0000 (0:00:00.448)       0:03:17.005 ****",
                                "ok: [aio] => (item={'path': '/etc/docker'})",
                                "ok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 17 September 2026  17:22:13 +0000 (0:00:00.630)       0:03:17.635 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  17:22:14 +0000 (0:00:00.445)       0:03:18.081 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  17:22:14 +0000 (0:00:00.480)       0:03:18.561 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  17:22:14 +0000 (0:00:00.006)       0:03:18.567 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  17:22:14 +0000 (0:00:00.395)       0:03:18.963 ****",
                                "ok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 17 September 2026  17:22:14 +0000 (0:00:00.051)       0:03:19.014 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  17:22:16 +0000 (0:00:01.123)       0:03:20.138 ****",
                                "ok: [aio] => (item=chronyd)",
                                "ok: [aio] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  17:22:16 +0000 (0:00:00.664)       0:03:20.803 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  17:22:20 +0000 (0:00:03.430)       0:03:24.233 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  17:22:20 +0000 (0:00:00.253)       0:03:24.487 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  17:22:20 +0000 (0:00:00.249)       0:03:24.737 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Thursday 17 September 2026  17:22:20 +0000 (0:00:00.241)       0:03:24.978 ****",
                                "ok: [aio] => (item=aio)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Thursday 17 September 2026  17:22:21 +0000 (0:00:00.272)       0:03:25.250 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  17:22:21 +0000 (0:00:00.058)       0:03:25.309 ****",
                                "included: vexxhost.ceph.cephadm_host for aio",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  17:22:21 +0000 (0:00:00.070)       0:03:25.379 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  17:22:21 +0000 (0:00:00.058)       0:03:25.438 ****",
                                "skipping: [aio] => (item=aio)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  17:22:21 +0000 (0:00:00.064)       0:03:25.502 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  17:22:21 +0000 (0:00:00.323)       0:03:25.825 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Thursday 17 September 2026  17:22:24 +0000 (0:00:02.369)       0:03:28.194 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Thursday 17 September 2026  17:22:29 +0000 (0:00:05.670)       0:03:33.865 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Thursday 17 September 2026  17:22:31 +0000 (0:00:01.352)       0:03:35.217 ****",
                                "ok: [aio] => (item=/dev/ceph-aio-osd0/data)",
                                "ok: [aio] => (item=/dev/ceph-aio-osd1/data)",
                                "ok: [aio] => (item=/dev/ceph-aio-osd2/data)",
                                "",
                                "TASK [vexxhost.ceph.osd : Get mon dump] ****************************************",
                                "Thursday 17 September 2026  17:25:15 +0000 (0:02:44.021)       0:06:19.239 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Thursday 17 September 2026  17:25:17 +0000 (0:00:01.852)       0:06:21.091 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Thursday 17 September 2026  17:25:18 +0000 (0:00:01.615)       0:06:22.707 ****",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for aio",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Thursday 17 September 2026  17:25:18 +0000 (0:00:00.052)       0:06:22.759 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Thursday 17 September 2026  17:25:18 +0000 (0:00:00.048)       0:06:22.808 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Thursday 17 September 2026  17:25:20 +0000 (0:00:01.722)       0:06:24.530 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Thursday 17 September 2026  17:25:20 +0000 (0:00:00.048)       0:06:24.578 ****",
                                "failed: [aio] (item=2) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": 2, \"msg\": \"Failed as requested from task\"}",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio] => (item=1)",
                                "",
                                "TASK [vexxhost.ceph.osd : Failed after retry] **********************************",
                                "Thursday 17 September 2026  17:25:20 +0000 (0:00:00.050)       0:06:24.629 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Give 5 seconds pause before retry] *******************",
                                "Thursday 17 September 2026  17:25:20 +0000 (0:00:00.034)       0:06:24.663 ****",
                                "Pausing for 5 seconds",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Recheck OSDs] ****************************************",
                                "Thursday 17 September 2026  17:25:25 +0000 (0:00:05.039)       0:06:29.702 ****",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for aio",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Thursday 17 September 2026  17:25:25 +0000 (0:00:00.058)       0:06:29.761 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Thursday 17 September 2026  17:25:25 +0000 (0:00:00.048)       0:06:29.810 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Thursday 17 September 2026  17:25:27 +0000 (0:00:01.542)       0:06:31.352 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Thursday 17 September 2026  17:25:27 +0000 (0:00:00.055)       0:06:31.408 ****",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Thursday 17 September 2026  17:25:27 +0000 (0:00:00.053)       0:06:31.461 ****",
                                "skipping: [aio]",
                                "",
                                "PLAY [Deploy Ceph exporters] ***************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:25:27 +0000 (0:00:00.078)       0:06:31.540 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:25:28 +0000 (0:00:01.019)       0:06:32.559 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:25:28 +0000 (0:00:00.236)       0:06:32.796 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  17:25:28 +0000 (0:00:00.037)       0:06:32.834 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:25:29 +0000 (0:00:00.244)       0:06:33.078 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:25:29 +0000 (0:00:00.072)       0:06:33.151 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:25:29 +0000 (0:00:00.319)       0:06:33.470 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:25:29 +0000 (0:00:00.045)       0:06:33.516 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:25:29 +0000 (0:00:00.032)       0:06:33.548 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:25:29 +0000 (0:00:00.201)       0:06:33.750 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:25:30 +0000 (0:00:01.140)       0:06:34.890 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:25:30 +0000 (0:00:00.089)       0:06:34.980 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:25:31 +0000 (0:00:00.391)       0:06:35.371 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  17:25:33 +0000 (0:00:02.073)       0:06:37.444 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  17:25:33 +0000 (0:00:00.031)       0:06:37.476 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  17:25:33 +0000 (0:00:00.042)       0:06:37.518 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  17:25:33 +0000 (0:00:00.032)       0:06:37.550 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  17:25:35 +0000 (0:00:01.634)       0:06:39.185 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  17:25:35 +0000 (0:00:00.495)       0:06:39.680 ****",
                                "ok: [aio] => (item={'path': '/etc/containerd'})",
                                "ok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 17 September 2026  17:25:36 +0000 (0:00:01.053)       0:06:40.734 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  17:25:37 +0000 (0:00:00.552)       0:06:41.286 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  17:25:37 +0000 (0:00:00.011)       0:06:41.297 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:25:37 +0000 (0:00:00.398)       0:06:41.696 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:25:37 +0000 (0:00:00.254)       0:06:41.951 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:25:37 +0000 (0:00:00.074)       0:06:42.025 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:25:38 +0000 (0:00:00.396)       0:06:42.422 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  17:25:41 +0000 (0:00:03.204)       0:06:45.626 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  17:25:42 +0000 (0:00:01.178)       0:06:46.804 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  17:25:42 +0000 (0:00:00.233)       0:06:47.038 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  17:25:43 +0000 (0:00:00.496)       0:06:47.535 ****",
                                "ok: [aio] => (item={'path': '/etc/docker'})",
                                "ok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 17 September 2026  17:25:44 +0000 (0:00:00.658)       0:06:48.193 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  17:25:44 +0000 (0:00:00.419)       0:06:48.613 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  17:25:44 +0000 (0:00:00.404)       0:06:49.017 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  17:25:44 +0000 (0:00:00.004)       0:06:49.022 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  17:25:45 +0000 (0:00:00.380)       0:06:49.402 ****",
                                "ok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 17 September 2026  17:25:45 +0000 (0:00:00.060)       0:06:49.462 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  17:25:46 +0000 (0:00:01.088)       0:06:50.551 ****",
                                "ok: [aio] => (item=chronyd)",
                                "ok: [aio] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  17:25:47 +0000 (0:00:00.660)       0:06:51.211 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  17:25:48 +0000 (0:00:01.379)       0:06:52.590 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  17:25:48 +0000 (0:00:00.222)       0:06:52.813 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  17:25:49 +0000 (0:00:00.281)       0:06:53.095 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.ceph_exporter : Configure Ceph exporter service] ***********",
                                "Thursday 17 September 2026  17:25:49 +0000 (0:00:00.218)       0:06:53.314 ****",
                                "changed: [aio]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "aio                        : ok=145  changed=30   unreachable=0    failed=0    skipped=25   rescued=1    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 17 September 2026  17:25:52 +0000 (0:00:02.865)       0:06:56.179 ****",
                                "===============================================================================",
                                "vexxhost.ceph.osd : Install OSDs -------------------------------------- 164.02s",
                                "vexxhost.ceph.mon : Run Bootstrap command ----------------------------- 105.26s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 10.30s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 7.18s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 5.94s",
                                "vexxhost.ceph.mgr : Configure manager modules --------------------------- 5.81s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.67s",
                                "vexxhost.ceph.osd : Give 5 seconds pause before retry ------------------- 5.04s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.63s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 3.43s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.20s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.18s",
                                "vexxhost.ceph.mgr : Configure \"mgr\" label for managers ------------------ 3.00s",
                                "vexxhost.ceph.mon : Configure \"mon\" label for monitors ------------------ 2.99s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.93s",
                                "vexxhost.ceph.ceph_exporter : Configure Ceph exporter service ----------- 2.87s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 2.84s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.37s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.26s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.25s",
                                "INFO     [default > converge] Executed: Successful",
                                "INFO     [default > idempotence] Executing",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:25:53 +0000 (0:00:00.040)       0:00:00.040 ****",
                                "[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:25:54 +0000 (0:00:01.308)       0:00:01.348 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:25:54 +0000 (0:00:00.359)       0:00:01.708 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  17:25:54 +0000 (0:00:00.043)       0:00:01.751 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:25:55 +0000 (0:00:00.351)       0:00:02.102 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:25:55 +0000 (0:00:00.097)       0:00:02.200 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:25:55 +0000 (0:00:00.514)       0:00:02.714 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:25:55 +0000 (0:00:00.048)       0:00:02.762 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:25:55 +0000 (0:00:00.044)       0:00:02.807 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:25:56 +0000 (0:00:00.253)       0:00:03.061 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:25:58 +0000 (0:00:02.652)       0:00:05.714 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:25:58 +0000 (0:00:00.092)       0:00:05.806 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:25:59 +0000 (0:00:00.391)       0:00:06.198 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  17:26:01 +0000 (0:00:02.343)       0:00:08.542 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  17:26:01 +0000 (0:00:00.031)       0:00:08.574 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  17:26:01 +0000 (0:00:00.037)       0:00:08.611 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  17:26:01 +0000 (0:00:00.035)       0:00:08.646 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  17:26:03 +0000 (0:00:01.367)       0:00:10.014 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  17:26:03 +0000 (0:00:00.484)       0:00:10.498 ****",
                                "ok: [aio] => (item={'path': '/etc/containerd'})",
                                "ok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 17 September 2026  17:26:04 +0000 (0:00:00.993)       0:00:11.492 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  17:26:05 +0000 (0:00:00.588)       0:00:12.080 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  17:26:05 +0000 (0:00:00.009)       0:00:12.090 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:26:05 +0000 (0:00:00.625)       0:00:12.715 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:26:06 +0000 (0:00:00.218)       0:00:12.933 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:26:06 +0000 (0:00:00.067)       0:00:13.000 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:26:06 +0000 (0:00:00.380)       0:00:13.380 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  17:26:09 +0000 (0:00:03.161)       0:00:16.542 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  17:26:10 +0000 (0:00:01.090)       0:00:17.632 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  17:26:11 +0000 (0:00:00.321)       0:00:17.954 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  17:26:11 +0000 (0:00:00.449)       0:00:18.404 ****",
                                "ok: [aio] => (item={'path': '/etc/docker'})",
                                "ok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 17 September 2026  17:26:12 +0000 (0:00:00.646)       0:00:19.051 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  17:26:12 +0000 (0:00:00.501)       0:00:19.552 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  17:26:13 +0000 (0:00:00.463)       0:00:20.015 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  17:26:13 +0000 (0:00:00.006)       0:00:20.021 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  17:26:13 +0000 (0:00:00.389)       0:00:20.411 ****",
                                "ok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 17 September 2026  17:26:13 +0000 (0:00:00.065)       0:00:20.477 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  17:26:14 +0000 (0:00:01.366)       0:00:21.843 ****",
                                "ok: [aio] => (item=chronyd)",
                                "ok: [aio] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  17:26:15 +0000 (0:00:00.709)       0:00:22.553 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  17:26:16 +0000 (0:00:01.360)       0:00:23.914 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  17:26:17 +0000 (0:00:00.208)       0:00:24.122 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  17:26:17 +0000 (0:00:00.357)       0:00:24.480 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Thursday 17 September 2026  17:26:17 +0000 (0:00:00.306)       0:00:24.786 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Thursday 17 September 2026  17:26:17 +0000 (0:00:00.081)       0:00:24.867 ****",
                                "ok: [aio] => (item=aio)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Thursday 17 September 2026  17:26:18 +0000 (0:00:00.241)       0:00:25.108 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Thursday 17 September 2026  17:26:18 +0000 (0:00:00.063)       0:00:25.172 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  17:26:18 +0000 (0:00:00.048)       0:00:25.220 ****",
                                "included: vexxhost.ceph.cephadm_host for aio",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  17:26:18 +0000 (0:00:00.075)       0:00:25.295 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  17:26:20 +0000 (0:00:01.705)       0:00:27.001 ****",
                                "ok: [aio] => (item=aio)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  17:26:20 +0000 (0:00:00.073)       0:00:27.074 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  17:26:20 +0000 (0:00:00.379)       0:00:27.454 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Thursday 17 September 2026  17:26:22 +0000 (0:00:02.326)       0:00:29.781 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Thursday 17 September 2026  17:26:24 +0000 (0:00:01.656)       0:00:31.437 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  17:26:26 +0000 (0:00:01.611)       0:00:33.049 ****",
                                "included: vexxhost.ceph.cephadm_host for aio",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  17:26:26 +0000 (0:00:00.068)       0:00:33.117 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  17:26:26 +0000 (0:00:00.062)       0:00:33.180 ****",
                                "skipping: [aio] => (item=aio)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  17:26:26 +0000 (0:00:00.049)       0:00:33.229 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  17:26:26 +0000 (0:00:00.322)       0:00:33.552 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Thursday 17 September 2026  17:26:28 +0000 (0:00:02.177)       0:00:35.729 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Thursday 17 September 2026  17:26:30 +0000 (0:00:01.507)       0:00:37.237 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure manager modules] ***************************",
                                "Thursday 17 September 2026  17:26:31 +0000 (0:00:01.530)       0:00:38.768 ****",
                                "ok: [aio] => (item={'name': 'diskprediction_local'})",
                                "ok: [aio] => (item={'name': 'dashboard'})",
                                "ok: [aio] => (item={'name': 'prometheus'})",
                                "ok: [aio] => (item={'name': 'iostat'})",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:26:40 +0000 (0:00:08.200)       0:00:46.968 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.966)       0:00:47.935 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.228)       0:00:48.164 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.036)       0:00:48.200 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.214)       0:00:48.415 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.100)       0:00:48.515 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.339)       0:00:48.855 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:26:41 +0000 (0:00:00.034)       0:00:48.889 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:26:42 +0000 (0:00:00.038)       0:00:48.928 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:26:42 +0000 (0:00:00.247)       0:00:49.176 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:26:43 +0000 (0:00:01.181)       0:00:50.358 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:26:43 +0000 (0:00:00.095)       0:00:50.453 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:26:43 +0000 (0:00:00.366)       0:00:50.819 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  17:26:45 +0000 (0:00:02.034)       0:00:52.854 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  17:26:45 +0000 (0:00:00.029)       0:00:52.884 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  17:26:46 +0000 (0:00:00.035)       0:00:52.919 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  17:26:46 +0000 (0:00:00.024)       0:00:52.944 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  17:26:47 +0000 (0:00:01.175)       0:00:54.120 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  17:26:47 +0000 (0:00:00.481)       0:00:54.601 ****",
                                "ok: [aio] => (item={'path': '/etc/containerd'})",
                                "ok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 17 September 2026  17:26:48 +0000 (0:00:01.124)       0:00:55.726 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  17:26:49 +0000 (0:00:00.616)       0:00:56.342 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  17:26:49 +0000 (0:00:00.006)       0:00:56.349 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:26:49 +0000 (0:00:00.384)       0:00:56.734 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:26:50 +0000 (0:00:00.234)       0:00:56.969 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:26:50 +0000 (0:00:00.076)       0:00:57.045 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:26:50 +0000 (0:00:00.336)       0:00:57.382 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  17:26:53 +0000 (0:00:03.156)       0:01:00.539 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  17:26:55 +0000 (0:00:01.379)       0:01:01.918 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  17:26:55 +0000 (0:00:00.234)       0:01:02.153 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  17:26:55 +0000 (0:00:00.489)       0:01:02.642 ****",
                                "ok: [aio] => (item={'path': '/etc/docker'})",
                                "ok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 17 September 2026  17:26:56 +0000 (0:00:00.621)       0:01:03.263 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  17:26:56 +0000 (0:00:00.438)       0:01:03.702 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  17:26:57 +0000 (0:00:00.475)       0:01:04.178 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  17:26:57 +0000 (0:00:00.008)       0:01:04.186 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  17:26:57 +0000 (0:00:00.399)       0:01:04.586 ****",
                                "ok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 17 September 2026  17:26:57 +0000 (0:00:00.072)       0:01:04.659 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  17:26:59 +0000 (0:00:01.278)       0:01:05.937 ****",
                                "ok: [aio] => (item=chronyd)",
                                "ok: [aio] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  17:26:59 +0000 (0:00:00.690)       0:01:06.628 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  17:27:03 +0000 (0:00:03.934)       0:01:10.562 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  17:27:03 +0000 (0:00:00.235)       0:01:10.797 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.286)       0:01:11.083 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.226)       0:01:11.310 ****",
                                "ok: [aio] => (item=aio)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.244)       0:01:11.555 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.055)       0:01:11.610 ****",
                                "included: vexxhost.ceph.cephadm_host for aio",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.070)       0:01:11.680 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.033)       0:01:11.714 ****",
                                "skipping: [aio] => (item=aio)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  17:27:04 +0000 (0:00:00.037)       0:01:11.752 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  17:27:05 +0000 (0:00:00.268)       0:01:12.020 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Thursday 17 September 2026  17:27:07 +0000 (0:00:02.158)       0:01:14.179 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Thursday 17 September 2026  17:27:13 +0000 (0:00:06.112)       0:01:20.291 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Thursday 17 September 2026  17:27:14 +0000 (0:00:01.399)       0:01:21.691 ****",
                                "skipping: [aio] => (item=/dev/ceph-aio-osd0/data)",
                                "skipping: [aio] => (item=/dev/ceph-aio-osd1/data)",
                                "skipping: [aio] => (item=/dev/ceph-aio-osd2/data)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get mon dump] ****************************************",
                                "Thursday 17 September 2026  17:27:14 +0000 (0:00:00.096)       0:01:21.788 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Thursday 17 September 2026  17:27:16 +0000 (0:00:01.663)       0:01:23.451 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Thursday 17 September 2026  17:27:18 +0000 (0:00:01.501)       0:01:24.952 ****",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for aio",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Thursday 17 September 2026  17:27:18 +0000 (0:00:00.056)       0:01:25.009 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Thursday 17 September 2026  17:27:18 +0000 (0:00:00.058)       0:01:25.067 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Thursday 17 September 2026  17:27:19 +0000 (0:00:01.586)       0:01:26.653 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Thursday 17 September 2026  17:27:19 +0000 (0:00:00.060)       0:01:26.714 ****",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio] => (item=1)",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Thursday 17 September 2026  17:27:19 +0000 (0:00:00.043)       0:01:26.757 ****",
                                "skipping: [aio]",
                                "",
                                "PLAY [Deploy Ceph exporters] ***************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:27:19 +0000 (0:00:00.064)       0:01:26.821 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:27:20 +0000 (0:00:00.935)       0:01:27.757 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.230)       0:01:27.987 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.043)       0:01:28.031 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.224)       0:01:28.255 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.069)       0:01:28.325 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.359)       0:01:28.684 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.037)       0:01:28.722 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:27:21 +0000 (0:00:00.035)       0:01:28.758 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  17:27:22 +0000 (0:00:00.225)       0:01:28.983 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:27:23 +0000 (0:00:01.204)       0:01:30.188 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:27:23 +0000 (0:00:00.097)       0:01:30.286 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:27:23 +0000 (0:00:00.370)       0:01:30.657 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  17:27:25 +0000 (0:00:02.024)       0:01:32.681 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  17:27:25 +0000 (0:00:00.030)       0:01:32.712 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  17:27:25 +0000 (0:00:00.028)       0:01:32.741 ****",
                                "skipping: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  17:27:25 +0000 (0:00:00.028)       0:01:32.769 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  17:27:27 +0000 (0:00:01.234)       0:01:34.004 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  17:27:27 +0000 (0:00:00.500)       0:01:34.504 ****",
                                "ok: [aio] => (item={'path': '/etc/containerd'})",
                                "ok: [aio] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [aio] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 17 September 2026  17:27:28 +0000 (0:00:01.010)       0:01:35.515 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  17:27:29 +0000 (0:00:00.518)       0:01:36.033 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  17:27:29 +0000 (0:00:00.007)       0:01:36.041 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  17:27:29 +0000 (0:00:00.375)       0:01:36.416 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  17:27:29 +0000 (0:00:00.228)       0:01:36.645 ****",
                                "ok: [aio] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  17:27:29 +0000 (0:00:00.093)       0:01:36.738 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  17:27:30 +0000 (0:00:00.388)       0:01:37.126 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  17:27:33 +0000 (0:00:03.312)       0:01:40.438 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  17:27:34 +0000 (0:00:01.142)       0:01:41.581 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  17:27:34 +0000 (0:00:00.196)       0:01:41.778 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  17:27:35 +0000 (0:00:00.481)       0:01:42.259 ****",
                                "ok: [aio] => (item={'path': '/etc/docker'})",
                                "ok: [aio] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [aio] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 17 September 2026  17:27:35 +0000 (0:00:00.613)       0:01:42.872 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  17:27:36 +0000 (0:00:00.453)       0:01:43.325 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  17:27:36 +0000 (0:00:00.427)       0:01:43.753 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  17:27:36 +0000 (0:00:00.004)       0:01:43.757 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  17:27:37 +0000 (0:00:00.343)       0:01:44.100 ****",
                                "ok: [aio] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 17 September 2026  17:27:37 +0000 (0:00:00.048)       0:01:44.148 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  17:27:38 +0000 (0:00:01.212)       0:01:45.360 ****",
                                "ok: [aio] => (item=chronyd)",
                                "ok: [aio] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  17:27:39 +0000 (0:00:00.695)       0:01:46.056 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  17:27:44 +0000 (0:00:05.774)       0:01:51.830 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  17:27:45 +0000 (0:00:00.232)       0:01:52.063 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  17:27:45 +0000 (0:00:00.266)       0:01:52.330 ****",
                                "ok: [aio]",
                                "",
                                "TASK [vexxhost.ceph.ceph_exporter : Configure Ceph exporter service] ***********",
                                "Thursday 17 September 2026  17:27:45 +0000 (0:00:00.215)       0:01:52.545 ****",
                                "ok: [aio]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "aio                        : ok=129  changed=0    unreachable=0    failed=0    skipped=26   rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 17 September 2026  17:27:47 +0000 (0:00:01.543)       0:01:54.088 ****",
                                "===============================================================================",
                                "vexxhost.ceph.mgr : Configure manager modules --------------------------- 8.20s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 6.11s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 5.77s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 3.93s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.31s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.16s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.16s",
                                "vexxhost.containers.package : Update state for tar ---------------------- 2.65s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.34s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.33s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.18s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.16s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.03s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.02s",
                                "vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 1.71s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.66s",
                                "vexxhost.ceph.mon : Configure \"mon\" label for monitors ------------------ 1.66s",
                                "vexxhost.ceph.mon : Validate monitor exist ------------------------------ 1.61s",
                                "vexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 1.59s",
                                "vexxhost.ceph.ceph_exporter : Configure Ceph exporter service ----------- 1.54s",
                                "INFO     [default > idempotence] Executed: Successful",
                                "INFO     [default > side_effect] Executing",
                                "WARNING  [default > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [default > verify] Executing",
                                "",
                                "PLAY [Verify] ******************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  17:27:47 +0000 (0:00:00.007)       0:00:00.007 ****",
                                "[WARNING]: Platform linux on host aio 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.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [aio]",
                                "",
                                "TASK [List locally deployed Ceph daemons] **************************************",
                                "Thursday 17 September 2026  17:27:49 +0000 (0:00:01.303)       0:00:01.310 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Collect deployed Ceph container images] **********************************",
                                "Thursday 17 September 2026  17:27:55 +0000 (0:00:05.922)       0:00:07.232 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Assert that a deployed Ceph container image was found] *******************",
                                "Thursday 17 September 2026  17:27:55 +0000 (0:00:00.050)       0:00:07.283 ****",
                                "ok: [aio] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Get cluster health status] ***********************************************",
                                "Thursday 17 September 2026  17:27:55 +0000 (0:00:00.040)       0:00:07.323 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Print cluster health status] *********************************************",
                                "Thursday 17 September 2026  17:27:56 +0000 (0:00:01.613)       0:00:08.936 ****",
                                "ok: [aio] => {",
                                "    \"_ceph_health\": {",
                                "        \"changed\": false,",
                                "        \"cmd\": [",
                                "            \"cephadm\",",
                                "            \"shell\",",
                                "            \"--\",",
                                "            \"ceph\",",
                                "            \"health\"",
                                "        ],",
                                "        \"delta\": \"0:00:01.375720\",",
                                "        \"end\": \"2026-09-17 17:27:56.755821\",",
                                "        \"failed\": false,",
                                "        \"msg\": \"\",",
                                "        \"rc\": 0,",
                                "        \"start\": \"2026-09-17 17:27:55.380101\",",
                                "        \"stderr\": \"Inferring fsid 1dff0e0f-3c44-48da-81cd-4f3c6e8722b2\\nInferring config /var/lib/ceph/1dff0e0f-3c44-48da-81cd-4f3c6e8722b2/mon.aio/config\",",
                                "        \"stderr_lines\": [",
                                "            \"Inferring fsid 1dff0e0f-3c44-48da-81cd-4f3c6e8722b2\",",
                                "            \"Inferring config /var/lib/ceph/1dff0e0f-3c44-48da-81cd-4f3c6e8722b2/mon.aio/config\"",
                                "        ],",
                                "        \"stdout\": \"HEALTH_OK\",",
                                "        \"stdout_lines\": [",
                                "            \"HEALTH_OK\"",
                                "        ]",
                                "    }",
                                "}",
                                "",
                                "TASK [Assert that the cluster status is healthy] *******************************",
                                "Thursday 17 September 2026  17:27:56 +0000 (0:00:00.041)       0:00:08.978 ****",
                                "ok: [aio] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Create a test Ceph pool] *************************************************",
                                "Thursday 17 September 2026  17:27:56 +0000 (0:00:00.038)       0:00:09.016 ****",
                                "changed: [aio]",
                                "",
                                "TASK [Create a test Ceph key] **************************************************",
                                "Thursday 17 September 2026  17:28:02 +0000 (0:00:06.031)       0:00:15.048 ****",
                                "changed: [aio]",
                                "",
                                "TASK [Retrieve info for the test Ceph key] *************************************",
                                "Thursday 17 September 2026  17:28:05 +0000 (0:00:02.392)       0:00:17.440 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Assert that key_info returns the correct key] ****************************",
                                "Thursday 17 September 2026  17:28:06 +0000 (0:00:01.210)       0:00:18.650 ****",
                                "ok: [aio] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Retrieve info for the test Ceph key using the legacy key module] *********",
                                "Thursday 17 September 2026  17:28:06 +0000 (0:00:00.055)       0:00:18.706 ****",
                                "ok: [aio]",
                                "",
                                "TASK [Assert that the legacy key module info state returns the correct key] ****",
                                "Thursday 17 September 2026  17:28:07 +0000 (0:00:01.085)       0:00:19.791 ****",
                                "ok: [aio] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "aio                        : ok=13   changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 17 September 2026  17:28:07 +0000 (0:00:00.043)       0:00:19.834 ****",
                                "===============================================================================",
                                "Create a test Ceph pool ------------------------------------------------- 6.03s",
                                "List locally deployed Ceph daemons -------------------------------------- 5.92s",
                                "Create a test Ceph key -------------------------------------------------- 2.39s",
                                "Get cluster health status ----------------------------------------------- 1.61s",
                                "Gathering Facts --------------------------------------------------------- 1.30s",
                                "Retrieve info for the test Ceph key ------------------------------------- 1.21s",
                                "Retrieve info for the test Ceph key using the legacy key module --------- 1.09s",
                                "Assert that key_info returns the correct key ---------------------------- 0.06s",
                                "Collect deployed Ceph container images ---------------------------------- 0.05s",
                                "Assert that the legacy key module info state returns the correct key ---- 0.04s",
                                "Print cluster health status --------------------------------------------- 0.04s",
                                "Assert that a deployed Ceph container image was found ------------------- 0.04s",
                                "Assert that the cluster status is healthy ------------------------------- 0.04s",
                                "INFO     [default > verify] Executed: Successful",
                                "INFO     [default > cleanup] Executing",
                                "WARNING  [default > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [default > destroy] Executing",
                                "WARNING  [default > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [default > destroy] Executed: Successful",
                                "WARNING  Molecule executed 1 scenario (1 missing files)"
                            ],
                            "zuul_log_id": "0242ac17-0010-9334-db8c-000000000007-1-aio"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:08.064174Z",
                            "start": "2026-09-17T17:18:06.222723Z"
                        },
                        "id": "0242ac17-0010-9334-db8c-000000000007",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "aio": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T17:28:12.286037Z",
                    "start": "2026-09-17T17:28:08.777287Z"
                },
                "id": "0242ac17-0010-28e6-37f1-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "aio": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-28e6-37f1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:08.832067Z",
                            "start": "2026-09-17T17:28:08.787991Z"
                        },
                        "id": "0242ac17-0010-28e6-37f1-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-28e6-37f1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:08.880450Z",
                            "start": "2026-09-17T17:28:08.836997Z"
                        },
                        "id": "0242ac17-0010-28e6-37f1-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-28e6-37f1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:09.808709Z",
                            "start": "2026-09-17T17:28:08.886856Z"
                        },
                        "id": "0242ac17-0010-28e6-37f1-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": false,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.161:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.161:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "stdout_lines": [],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.161:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.161:/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/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.161:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.161:/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/0c7c102e66d14db08666ad5cdedd19b5/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-28e6-37f1-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:11.613729Z",
                            "start": "2026-09-17T17:28:09.818107Z"
                        },
                        "id": "0242ac17-0010-28e6-37f1-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "aio": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts/* /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008017",
                                    "end": "2026-09-17 17:28:12.000734",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/artifacts/* /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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-09-17 17:28:11.992717",
                                    "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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/docs/* /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006343",
                                    "end": "2026-09-17 17:28:12.231340",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/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/0c7c102e66d14db08666ad5cdedd19b5/work/docs/* /var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/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-09-17 17:28:12.224997",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-28e6-37f1-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:12.286037Z",
                            "start": "2026-09-17T17:28:11.626760Z"
                        },
                        "id": "0242ac17-0010-28e6-37f1-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T17:28:12.821005Z",
                    "start": "2026-09-17T17:28:12.292403Z"
                },
                "id": "0242ac17-0010-28e6-37f1-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "aio": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyREzL9Ri2FUP14GaNPiLfzs6GJjlbC+PsdD0zJRGtzNtG2SMmBR02baikZjK80JGUmqx79UdS6EpVq+M9YNSR3hlyd7k047Ua3z9bkv6s7aYsly0IcsAlJFKVnvDu2cJwHCFcQGDQXKWW6t57lbrtmb97F8QzIWhg7rv3rCrFgju4z0By3TY2bJ/ybd3ouA3rRX8QHxT+RS409KRpfZPMj1cULMsvrFRIyL4Tx/36nAza8QL3BsTH37zzioXX28wrtL2qXU0NTRe8yTz7RjpKLy6g1SgdmQW8aDNLpNTpIgDUX+33l5qKQpltp8JR8gotAQTscgKY7glTZ2WqDAaxtIbiJI4pcP6/9bBkJ3PyVK7tOv1IpT6KPTvjiSJufiuf4iANSjjcoHNLSbJBbUGFyChjsyKCfuK0dIEzNQV0EkG0nNZFKDWz49AkfMWr9k9lgR6ZXiXP4yLBtKRpa7v5c0hiEmSe3WycuvVPVVkhHwS6iqXmx8gaiqNj6NHgctk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDyREzL9Ri2FUP14GaNPiLfzs6GJjlbC+PsdD0zJRGtzNtG2SMmBR02baikZjK80JGUmqx79UdS6EpVq+M9YNSR3hlyd7k047Ua3z9bkv6s7aYsly0IcsAlJFKVnvDu2cJwHCFcQGDQXKWW6t57lbrtmb97F8QzIWhg7rv3rCrFgju4z0By3TY2bJ/ybd3ouA3rRX8QHxT+RS409KRpfZPMj1cULMsvrFRIyL4Tx/36nAza8QL3BsTH37zzioXX28wrtL2qXU0NTRe8yTz7RjpKLy6g1SgdmQW8aDNLpNTpIgDUX+33l5qKQpltp8JR8gotAQTscgKY7glTZ2WqDAaxtIbiJI4pcP6/9bBkJ3PyVK7tOv1IpT6KPTvjiSJufiuf4iANSjjcoHNLSbJBbUGFyChjsyKCfuK0dIEzNQV0EkG0nNZFKDWz49AkfMWr9k9lgR6ZXiXP4yLBtKRpa7v5c0hiEmSe3WycuvVPVVkhHwS6iqXmx8gaiqNj6NHgctk= 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-0010-28e6-37f1-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/0c7c102e66d14db08666ad5cdedd19b5/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T17:28:12.821005Z",
                            "start": "2026-09-17T17:28:12.298306Z"
                        },
                        "id": "0242ac17-0010-28e6-37f1-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "aio": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
