[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:33:53.891934Z",
                    "start": "2026-09-10T17:33:51.222649Z"
                },
                "id": "0242ac17-0010-838e-5f88-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-10",
                                    "day": "10",
                                    "epoch": "1789061631",
                                    "epoch_int": "1789061631",
                                    "hour": "17",
                                    "iso8601": "2026-09-10T17:33:51Z",
                                    "iso8601_basic": "20260910T173351817431",
                                    "iso8601_basic_short": "20260910T173351",
                                    "iso8601_micro": "2026-09-10T17:33:51.817431Z",
                                    "minute": "33",
                                    "month": "09",
                                    "second": "51",
                                    "time": "17:33:51",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "36",
                                    "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/9061637c388f45f8bb7348ea0f84289a/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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": "2223276",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-faK6WgL0WWXG/agent.2223275",
                                    "TMP": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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": 2.92529296875,
                                    "1m": 3.87255859375,
                                    "5m": 3.18603515625
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 4540,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 13000,
                                        "used": 19090
                                    },
                                    "real": {
                                        "free": 4540,
                                        "total": 32090,
                                        "used": 27550
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 49004406,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 214936311,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 29715746,
                                        "inode_total": 67108864,
                                        "inode_used": 37393118,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 200722046976,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8092580,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32509000,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16607935,
                                        "inode_total": 20643840,
                                        "inode_used": 4035905,
                                        "mount": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33147207680,
                                        "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": 52725084,
                                "ansible_user_dir": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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-10T17:33:52.159989Z",
                            "start": "2026-09-10T17:33:51.229742Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:52.191464Z",
                            "start": "2026-09-10T17:33:52.168390Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "906/oss/9061637c388f45f8bb7348ea0f84289a"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:52.254623Z",
                            "start": "2026-09-10T17:33:52.211403Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: atmosphere-molecule-aio-openvswitch\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere/pull/4362\nEvent ID: 4609be50-ad3d-11f1-9dd1-b3be897e4c01\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:52.317555Z",
                            "start": "2026-09-10T17:33:52.272650Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000009",
                        "name": "Print job information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": false,
                                    "failed": false,
                                    "msg": "# Node Information\nInventory Hostname: instance\nHostname: np0000192522\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy-16\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.183\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:52.487253Z",
                            "start": "2026-09-10T17:33:52.324376Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:52.900283Z",
                            "start": "2026-09-10T17:33:52.498368Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "2e3b5916689baa911f986e358bf88a7f3722bd7f",
                            "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "2e3b5916689baa911f986e358bf88a7f3722bd7f",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/.ansible/tmp/ansible-tmp-1789061632.9388936-84-113970563492322/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "14edfb31d1b19bcad641f14bf493db1f",
                            "mode": "0644",
                            "owner": "root",
                            "size": 34385,
                            "src": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/.ansible/tmp/ansible-tmp-1789061632.9388936-84-113970563492322/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:53.891934Z",
                            "start": "2026-09-10T17:33:52.904132Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:34:06.621463Z",
                    "start": "2026-09-10T17:33:53.902186Z"
                },
                "id": "0242ac17-0010-838e-5f88-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "stat",
                            "changed": false,
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:54.147326Z",
                            "start": "2026-09-10T17:33:53.916786Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:54.192421Z",
                            "start": "2026-09-10T17:33:54.159365Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.420321",
                            "end": "2026-09-10 17:33:55.092299",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_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-838e-5f88-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:33:54.671978",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa.pub\nThe key fingerprint is:\nSHA256:JZn1LAIMQkKz2lSmlM7Jo1vWblwa0Tj50IEgsWcmIOk zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|B*=o++.   .      |\n|+=+=. o. + o     |\n|+=*. = .= o o    |\n|.E* * o  + .     |\n|...o =  S        |\n|. o o o          |\n| + o +           |\n|.   =            |\n|   .             |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:JZn1LAIMQkKz2lSmlM7Jo1vWblwa0Tj50IEgsWcmIOk zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|B*=o++.   .      |",
                                "|+=+=. o. + o     |",
                                "|+=*. = .= o o    |",
                                "|.E* * o  + .     |",
                                "|...o =  S        |",
                                "|. o o o          |",
                                "| + o +           |",
                                "|.   =            |",
                                "|   .             |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-838e-5f88-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:55.131489Z",
                            "start": "2026-09-10T17:33:54.223622Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:55.164289Z",
                            "start": "2026-09-10T17:33:55.136526Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:55.203336Z",
                            "start": "2026-09-10T17:33:55.178729Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6SiHjK/ACGnIxV2Yqx9ACw9izN01tcM+S2jTOoCmPuK5RMMC5FR9NCnjUPLeOvff64O1MdBIW/hzv9qzvd715f6MsOjvLoTg3UpO8C5mLkuwAX35OodK7S0TYDZPDJ5/gJBrtdIVpC97uLCQPhWPaBsolLpVFN0ooJYt1Kwtb5bx0szBfP2VP6zFoN7JlvlwRKP+IBvU3eEOohPdn6FWx4NS3DGp/7DqPzKd3x7K2Kryo9S4U/rEQE/ckhf0olsgJ/T54HBjJDRMKWNqJcI/QQI1FgVupv2vXq6Ju9b9ZGeu+UgYMsoEH5fAFl7X4zirKIx6+oxQQB5CA7NIkptT7dCpgm3m4I70ddgBQYClyKQUBAcvM6A31PDofGZIl3lCxXv0qmvAMJbWCt1CqHPUoEgOJc8hoQ7oFpK0vOYOxHE+Y49VTBHoIYmlDdAJFFy2wVwccumg7UbZ2irk5vTKVHA270lQs/vonQ8N1iiFZbrBfoJshg5DASykqCCmYkvc= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC6SiHjK/ACGnIxV2Yqx9ACw9izN01tcM+S2jTOoCmPuK5RMMC5FR9NCnjUPLeOvff64O1MdBIW/hzv9qzvd715f6MsOjvLoTg3UpO8C5mLkuwAX35OodK7S0TYDZPDJ5/gJBrtdIVpC97uLCQPhWPaBsolLpVFN0ooJYt1Kwtb5bx0szBfP2VP6zFoN7JlvlwRKP+IBvU3eEOohPdn6FWx4NS3DGp/7DqPzKd3x7K2Kryo9S4U/rEQE/ckhf0olsgJ/T54HBjJDRMKWNqJcI/QQI1FgVupv2vXq6Ju9b9ZGeu+UgYMsoEH5fAFl7X4zirKIx6+oxQQB5CA7NIkptT7dCpgm3m4I70ddgBQYClyKQUBAcvM6A31PDofGZIl3lCxXv0qmvAMJbWCt1CqHPUoEgOJc8hoQ7oFpK0vOYOxHE+Y49VTBHoIYmlDdAJFFy2wVwccumg7UbZ2irk5vTKVHA270lQs/vonQ8N1iiFZbrBfoJshg5DASykqCCmYkvc= 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-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:55.641861Z",
                            "start": "2026-09-10T17:33:55.211228Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:55.883777Z",
                            "start": "2026-09-10T17:33:55.649123Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "7287bcd5312241b40529b65ddc787184bc128047",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "9061637c388f45f8bb7348ea0f84289a_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "7287bcd5312241b40529b65ddc787184bc128047",
                                    "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-1789061635.9360447-190-105138139344307/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4eebe1fc88d199aab2b1965fa222a5cb",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789061635.9360447-190-105138139344307/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:56.465273Z",
                            "start": "2026-09-10T17:33:55.889309Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "b684a63b910327401f83da385f49237d925e7517",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "9061637c388f45f8bb7348ea0f84289a_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "b684a63b910327401f83da385f49237d925e7517",
                                    "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-1789061636.5434752-200-122486344827549/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "19988e3b9e998cd840e4cf223771f82a",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789061636.5434752-200-122486344827549/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:56.998200Z",
                            "start": "2026-09-10T17:33:56.503490Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:57.029420Z",
                            "start": "2026-09-10T17:33:57.005451Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:57.407260Z",
                            "start": "2026-09-10T17:33:57.047784Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa"
                            ],
                            "delta": "0:00:00.015223",
                            "end": "2026-09-10 17:33:57.666419",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_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-838e-5f88-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:33:57.651196",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/9061637c388f45f8bb7348ea0f84289a_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-838e-5f88-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:57.702106Z",
                            "start": "2026-09-10T17:33:57.416327Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:57.997372Z",
                            "start": "2026-09-10T17:33:57.711183Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:58.043790Z",
                            "start": "2026-09-10T17:33:58.009779Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:33:58.382914Z",
                            "start": "2026-09-10T17:33:58.068947Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:05.428469Z",
                            "start": "2026-09-10T17:33:58.391339Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:06.029719Z",
                            "start": "2026-09-10T17:34:05.440138Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-838e-5f88-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:06.621463Z",
                            "start": "2026-09-10T17:34:06.039753Z"
                        },
                        "id": "0242ac17-0010-838e-5f88-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:34:20.405240Z",
                    "start": "2026-09-10T17:34:07.416620Z"
                },
                "id": "0242ac17-0010-4d23-6afe-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.unarchive",
                            "changed": true,
                            "dest": "/usr/local/bin",
                            "extract_results": {
                                "cmd": [
                                    "/usr/bin/tar",
                                    "--extract",
                                    "-C",
                                    "/usr/local/bin",
                                    "-z",
                                    "--show-transformed-names",
                                    "--strip-components=1",
                                    "-f",
                                    "/home/zuul/.ansible/tmp/ansible-tmp-1789061647.4694846-5-78455759110328/uv-x86_64-unknown-linux-gnum51yi67i.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-1789061647.4694846-5-78455759110328/uv-x86_64-unknown-linux-gnum51yi67i.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d23-6afe-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:10.149507Z",
                            "start": "2026-09-10T17:34:07.428346Z"
                        },
                        "id": "0242ac17-0010-4d23-6afe-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.016413",
                            "end": "2026-09-10 17:34:10.578899",
                            "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-4d23-6afe-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:34:10.562486",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-4d23-6afe-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d23-6afe-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:10.718636Z",
                            "start": "2026-09-10T17:34:10.199962Z"
                        },
                        "id": "0242ac17-0010-4d23-6afe-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": true,
                            "checkouts": [
                                {
                                    "changed": true,
                                    "name": "ansible.netcommon",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                    "tag": "1.2.0"
                                },
                                {
                                    "changed": true,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "tag": "1.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "tag": "v6.1.0"
                                },
                                {
                                    "changed": true,
                                    "name": "atmosphere.common",
                                    "path": "/home/zuul/src/github.com/vexxhost/atmosphere.common",
                                    "tag": "v0.7.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "tag": "2.2.3"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "7.3.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.mysql",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.mysql",
                                    "tag": "3.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "tag": "2.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "tag": "2.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.ceph",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                    "tag": "v4.2.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.8"
                                },
                                {
                                    "changed": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "tag": "v3.4.0"
                                }
                            ],
                            "installed": [
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.netcommon",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                    "spec": "1.2.0",
                                    "tag": "1.2.0",
                                    "version": "1.2.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "spec": "1.6.0,>=1.6.0",
                                    "tag": "1.6.0",
                                    "version": "1.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "spec": ">=2.9.0,>=6.0.0",
                                    "tag": "v6.1.0",
                                    "version": "6.1.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "atmosphere.common",
                                    "path": "/home/zuul/src/github.com/vexxhost/atmosphere.common",
                                    "spec": ">=0.7.0",
                                    "tag": "v0.7.0",
                                    "version": "0.7.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "spec": "2.2.3,>=2.2.3",
                                    "tag": "2.2.3",
                                    "version": "2.2.3"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": "7.3.0,>=4.5.0",
                                    "tag": "7.3.0",
                                    "version": "7.3.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.mysql",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.mysql",
                                    "spec": "3.6.0",
                                    "tag": "3.6.0",
                                    "version": "3.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "spec": "2.4.0,>=2.4.0,>=2.3.2",
                                    "tag": "2.4.0",
                                    "version": "2.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "spec": ">=2.0.0",
                                    "tag": "2.6.0",
                                    "version": "2.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.ceph",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                    "spec": ">=3.2.0",
                                    "tag": "v4.2.0",
                                    "version": "4.2.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "spec": ">=1.1.1,>=1.6.0",
                                    "tag": "v1.6.8",
                                    "version": "1.6.8"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "spec": ">=3.3.0,>=2.5.0",
                                    "tag": "v3.4.0",
                                    "version": "3.4.0"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "4362",
                                            "change_message": "refactor(magnum): remove unused container registry\n\nThe Magnum role deploys an unused container registry. Remove its Deployment, Service, and Ingress tasks, along with the registry image default, endpoint settings, ingress and priority class variables, and generated workspace hostname. Update the cluster template example to remove its dependency on the registry ingress.\n\nAdd an upgrade note explaining that existing registry resources are not automatically deleted.\n\nValidation:\n- Ansible lint passed for the five changed role YAML files checked. The offline run could not validate Kubernetes module options because the collection was unavailable.\n- All eight changed YAML files parsed successfully.\n- `git diff --check` passed; no registry references remain outside release notes.\n- Vale and deployment testing were not run.\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4362",
                                            "commit_id": "a363557ed9f1df13e0f625fb3f572ba8b23a6ee6",
                                            "patchset": "a363557ed9f1df13e0f625fb3f572ba8b23a6ee6",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere",
                                                "name": "vexxhost/atmosphere",
                                                "short_name": "atmosphere",
                                                "src_dir": "src/github.com/vexxhost/atmosphere"
                                            },
                                            "src_dir": "src/github.com/vexxhost/atmosphere",
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "4362",
                                            "change_message": "refactor(magnum): remove unused container registry\n\nThe Magnum role deploys an unused container registry. Remove its Deployment, Service, and Ingress tasks, along with the registry image default, endpoint settings, ingress and priority class variables, and generated workspace hostname. Update the cluster template example to remove its dependency on the registry ingress.\n\nAdd an upgrade note explaining that existing registry resources are not automatically deleted.\n\nValidation:\n- Ansible lint passed for the five changed role YAML files checked. The offline run could not validate Kubernetes module options because the collection was unavailable.\n- All eight changed YAML files parsed successfully.\n- `git diff --check` passed; no registry references remain outside release notes.\n- Vale and deployment testing were not run.\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4362",
                                            "commit_id": "a363557ed9f1df13e0f625fb3f572ba8b23a6ee6",
                                            "patchset": "a363557ed9f1df13e0f625fb3f572ba8b23a6ee6",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere",
                                                "name": "vexxhost/atmosphere",
                                                "short_name": "atmosphere",
                                                "src_dir": "src/github.com/vexxhost/atmosphere"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/atmosphere",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.netcommon",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "501006602620d01c2daf8c19187fbce336b2e7e9",
                                            "name": "ansible-collections/ansible.netcommon",
                                            "required": true,
                                            "short_name": "ansible.netcommon",
                                            "src_dir": "src/github.com/ansible-collections/ansible.netcommon"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.posix",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "20699d7184e21cec7be80212c96a6cbe373f718d",
                                            "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": "2f1541d83ea0a9d6900466744690ea231041bbf5",
                                            "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.crypto",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "b74702add8fda6915d87cafd31d871c625cdec73",
                                            "name": "ansible-collections/community.crypto",
                                            "required": true,
                                            "short_name": "community.crypto",
                                            "src_dir": "src/github.com/ansible-collections/community.crypto"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.general",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "8cbfd3366ed4cff60cfa7869f511da73233560fa",
                                            "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.mysql",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "4cf7a3176fbd07be43459f1366e8066381df6d97",
                                            "name": "ansible-collections/community.mysql",
                                            "required": true,
                                            "short_name": "community.mysql",
                                            "src_dir": "src/github.com/ansible-collections/community.mysql"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/kubernetes.core",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "a7922e498ca8fa62aef89b47174868f0d8d0ae7d",
                                            "name": "ansible-collections/kubernetes.core",
                                            "required": true,
                                            "short_name": "kubernetes.core",
                                            "src_dir": "src/github.com/ansible-collections/kubernetes.core"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-ceph",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "44a694a80e3179c28d75180baa1a56426f987257",
                                            "name": "vexxhost/ansible-collection-ceph",
                                            "required": true,
                                            "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"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "bb3fd0fde58a5b158605523e708645eb2a763886",
                                            "name": "vexxhost/ansible-collection-kubernetes",
                                            "required": true,
                                            "short_name": "ansible-collection-kubernetes",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "a363557ed9f1df13e0f625fb3f572ba8b23a6ee6",
                                            "name": "vexxhost/atmosphere",
                                            "required": false,
                                            "short_name": "atmosphere",
                                            "src_dir": "src/github.com/vexxhost/atmosphere"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere.common",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d00ec7f88fdc7ca2ce504a7e19c4049986cdac86",
                                            "name": "vexxhost/atmosphere.common",
                                            "required": true,
                                            "short_name": "atmosphere.common",
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                        },
                                        {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/ansible-collections-openstack",
                                            "checkout": "master",
                                            "checkout_description": "project default branch",
                                            "commit": "19a8bc6e05d628668d9cce34ee5c3730e595859b",
                                            "name": "openstack/ansible-collections-openstack",
                                            "required": true,
                                            "short_name": "ansible-collections-openstack",
                                            "src_dir": "src/opendev.org/openstack/ansible-collections-openstack"
                                        }
                                    ],
                                    "workspace_dir": "/home/zuul"
                                }
                            },
                            "log": [
                                "Sibling collection ansible.netcommon at /home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                "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.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Sibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general",
                                "Sibling collection community.mysql at /home/zuul/src/github.com/ansible-collections/community.mysql",
                                "Sibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Sibling collection vexxhost.ceph at /home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                "Sibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Sibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Sibling collection atmosphere.common at /home/zuul/src/github.com/vexxhost/atmosphere.common",
                                "Sibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Resolved ansible.netcommon to 1.2.0 for 1.2.0",
                                "Resolved ansible.posix to 1.6.0 for 1.6.0",
                                "Resolved ansible.utils to v6.1.0 for >=2.9.0",
                                "Resolved community.crypto to 2.2.3 for 2.2.3",
                                "Resolved community.general to 7.3.0 for 7.3.0",
                                "Resolved community.mysql to 3.6.0 for 3.6.0",
                                "Resolved kubernetes.core to 2.4.0 for 2.4.0",
                                "Resolved openstack.cloud to 2.6.0 for >=2.0.0",
                                "Resolved vexxhost.ceph to v4.2.0 for >=3.2.0",
                                "Resolved atmosphere.common to v0.7.0 for >=0.7.0",
                                "Resolved vexxhost.kubernetes to v3.4.0 for >=3.3.0,>=2.5.0",
                                "Resolved community.general to 7.3.0 for 7.3.0,>=4.5.0",
                                "Resolved ansible.utils to v6.1.0 for >=2.9.0,>=6.0.0",
                                "Resolved vexxhost.containers to v1.6.8 for >=1.1.1,>=1.6.0",
                                "Resolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2",
                                "Resolved vexxhost.kubernetes to v3.4.0 for >=3.3.0,>=2.5.0",
                                "Resolved ansible.posix to 1.6.0 for 1.6.0,>=1.6.0",
                                "Resolved community.crypto to 2.2.3 for 2.2.3,>=2.2.3",
                                "Resolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2",
                                "Resolved vexxhost.containers to v1.6.8 for >=1.1.1,>=1.6.0",
                                "Checked out ansible.netcommon to 1.2.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.netcommon:*' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'",
                                "Created collection for ansible.netcommon:* at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon",
                                "ansible.netcommon:* was installed successfully",
                                "Using CPython 3.10.12 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Downloading pygments (1.2MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading pygments (1.2MiB)",
                                "   Building pyperclip==1.9.0",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                " Downloading rjsonnet",
                                "Downloading setuptools (1.1MiB)",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 60ms",
                                "Checked out ansible.posix to 1.6.0",
                                "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:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:1.6.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:1.6.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out ansible.utils to v6.1.0",
                                "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.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "Created collection for ansible.utils:6.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils",
                                "ansible.utils:6.1.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out atmosphere.common to v0.7.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/atmosphere.common",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'atmosphere.common:0.7.0' to '/home/zuul/.ansible/collections/ansible_collections/atmosphere/common'",
                                "Created collection for atmosphere.common:0.7.0 at /home/zuul/.ansible/collections/ansible_collections/atmosphere/common",
                                "atmosphere.common:0.7.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out community.crypto to 2.2.3",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:2.2.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:2.2.3 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out community.general to 7.3.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:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:7.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:7.3.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out community.mysql to 3.6.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.mysql",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'",
                                "Created collection for community.mysql:3.6.0 at /home/zuul/.ansible/collections/ansible_collections/community/mysql",
                                "community.mysql:3.6.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out kubernetes.core to 2.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/kubernetes.core",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:2.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:2.4.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out openstack.cloud to 2.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'openstack.cloud:2.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'",
                                "Created collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud",
                                "openstack.cloud:2.6.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out vexxhost.ceph to v4.2.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.ceph:4.2.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'",
                                "Created collection for vexxhost.ceph:4.2.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph",
                                "vexxhost.ceph:4.2.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "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",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12",
                                "Checked out vexxhost.kubernetes to v3.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.kubernetes:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'",
                                "Created collection for vexxhost.kubernetes:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes",
                                "vexxhost.kubernetes:3.4.0 was installed successfully",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.17.12"
                            ],
                            "msg": "Sibling collection ansible.netcommon at /home/zuul/src/github.com/ansible-collections/ansible.netcommon\nSibling 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.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto\nSibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general\nSibling collection community.mysql at /home/zuul/src/github.com/ansible-collections/community.mysql\nSibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core\nSibling collection vexxhost.ceph at /home/zuul/src/github.com/vexxhost/ansible-collection-ceph\nSibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nSibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nSibling collection atmosphere.common at /home/zuul/src/github.com/vexxhost/atmosphere.common\nSibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nResolved ansible.netcommon to 1.2.0 for 1.2.0\nResolved ansible.posix to 1.6.0 for 1.6.0\nResolved ansible.utils to v6.1.0 for >=2.9.0\nResolved community.crypto to 2.2.3 for 2.2.3\nResolved community.general to 7.3.0 for 7.3.0\nResolved community.mysql to 3.6.0 for 3.6.0\nResolved kubernetes.core to 2.4.0 for 2.4.0\nResolved openstack.cloud to 2.6.0 for >=2.0.0\nResolved vexxhost.ceph to v4.2.0 for >=3.2.0\nResolved atmosphere.common to v0.7.0 for >=0.7.0\nResolved vexxhost.kubernetes to v3.4.0 for >=3.3.0,>=2.5.0\nResolved community.general to 7.3.0 for 7.3.0,>=4.5.0\nResolved ansible.utils to v6.1.0 for >=2.9.0,>=6.0.0\nResolved vexxhost.containers to v1.6.8 for >=1.1.1,>=1.6.0\nResolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2\nResolved vexxhost.kubernetes to v3.4.0 for >=3.3.0,>=2.5.0\nResolved ansible.posix to 1.6.0 for 1.6.0,>=1.6.0\nResolved community.crypto to 2.2.3 for 2.2.3,>=2.2.3\nResolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2\nResolved vexxhost.containers to v1.6.8 for >=1.1.1,>=1.6.0\nChecked out ansible.netcommon to 1.2.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.netcommon\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.netcommon:*' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'\nCreated collection for ansible.netcommon:* at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon\nansible.netcommon:* was installed successfully\nUsing CPython 3.10.12 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\n   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nDownloading pygments (1.2MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading setuptools (1.1MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading netaddr (2.2MiB)\nDownloading kubernetes (1.9MiB)\nDownloading ansible-core (2.1MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading cryptography (4.2MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading cryptography (4.2MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading netaddr (2.2MiB)\nDownloading kubernetes (1.9MiB)\nDownloading pygments (1.2MiB)\n   Building pyperclip==1.9.0\nDownloading ansible-core (2.1MiB)\nDownloading openstacksdk (1.7MiB)\n Downloading rjsonnet\nDownloading setuptools (1.1MiB)\n Downloading pydantic-core\n Downloading netaddr\n Downloading cryptography\n Downloading pygments\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 60ms\nChecked out ansible.posix to 1.6.0\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:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:1.6.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:1.6.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out ansible.utils to v6.1.0\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.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nCreated collection for ansible.utils:6.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils\nansible.utils:6.1.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out atmosphere.common to v0.7.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/atmosphere.common\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'atmosphere.common:0.7.0' to '/home/zuul/.ansible/collections/ansible_collections/atmosphere/common'\nCreated collection for atmosphere.common:0.7.0 at /home/zuul/.ansible/collections/ansible_collections/atmosphere/common\natmosphere.common:0.7.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out community.crypto to 2.2.3\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:2.2.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:2.2.3 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out community.general to 7.3.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:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:7.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:7.3.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out community.mysql to 3.6.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.mysql\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'\nCreated collection for community.mysql:3.6.0 at /home/zuul/.ansible/collections/ansible_collections/community/mysql\ncommunity.mysql:3.6.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out kubernetes.core to 2.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/kubernetes.core\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:2.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:2.4.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out openstack.cloud to 2.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'openstack.cloud:2.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'\nCreated collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud\nopenstack.cloud:2.6.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out vexxhost.ceph to v4.2.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-ceph\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.ceph:4.2.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'\nCreated collection for vexxhost.ceph:4.2.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph\nvexxhost.ceph:4.2.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\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\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12\nChecked out vexxhost.kubernetes to v3.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.kubernetes:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'\nCreated collection for vexxhost.kubernetes:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes\nvexxhost.kubernetes:3.4.0 was installed successfully\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.17.12"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:20.405240Z",
                            "start": "2026-09-10T17:34:10.736007Z"
                        },
                        "id": "0242ac17-0010-4d23-6afe-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere-zuul-jobs/playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:34:32.445045Z",
                    "start": "2026-09-10T17:34:21.251881Z"
                },
                "id": "0242ac17-0010-791d-e304-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1789061667,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 359 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://yul2.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://yul2.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]\nGet:3 http://yul2.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]\nFetched 359 kB in 1s (418 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 30901 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.2_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.2) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.2) ...\r\nSetting up jq (1.6-2.1ubuntu3.2) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.15) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 359 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://yul2.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://yul2.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]",
                                "Get:3 http://yul2.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]",
                                "Fetched 359 kB in 1s (418 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 30901 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.2_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.2) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.2) ...",
                                "Setting up jq (1.6-2.1ubuntu3.2) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.15) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:32.445045Z",
                            "start": "2026-09-10T17:34:21.264659Z"
                        },
                        "id": "0242ac17-0010-791d-e304-000000000004",
                        "name": "Install \"jq\" for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:43:20.537403Z",
                    "start": "2026-09-10T17:34:33.228656Z"
                },
                "id": "0242ac17-0010-4cc7-8547-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "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/atmosphere"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere",
                                    "stat": {
                                        "atime": 1789061653.2805474,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1789061651.6405447,
                                        "dev": 64513,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1566307,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1789061651.6405447,
                                        "nlink": 23,
                                        "path": "src/github.com/vexxhost/atmosphere",
                                        "pw_name": "zuul",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 4096,
                                        "uid": 1000,
                                        "version": "2502155776",
                                        "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/atmosphere/molecule/aio/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere/molecule/aio/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/atmosphere/extensions/molecule/aio/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:33.956364Z",
                            "start": "2026-09-10T17:34:33.238977Z"
                        },
                        "id": "0242ac17-0010-4cc7-8547-000000000004",
                        "name": "Check inventory directories"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "checksum": "2e3b5916689baa911f986e358bf88a7f3722bd7f",
                                    "dest": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "inventory.yaml",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "2e3b5916689baa911f986e358bf88a7f3722bd7f",
                                            "content": null,
                                            "dest": "src/github.com/vexxhost/atmosphere",
                                            "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-1789061674.0492685-9-209375047374493/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/atmosphere"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere",
                                        "stat": {
                                            "atime": 1789061653.2805474,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1789061651.6405447,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1566307,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1789061651.6405447,
                                            "nlink": 23,
                                            "path": "src/github.com/vexxhost/atmosphere",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2502155776",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "14edfb31d1b19bcad641f14bf493db1f",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 34385,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789061674.0492685-9-209375047374493/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/atmosphere/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/molecule/aio/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/atmosphere/extensions/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:34.832425Z",
                            "start": "2026-09-10T17:34:33.966096Z"
                        },
                        "id": "0242ac17-0010-4cc7-8547-000000000005",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "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/atmosphere/inventory.yaml",
                                            "regexp": "(^\\s*ansible_host:\\s*).*$",
                                            "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "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/atmosphere"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere",
                                        "stat": {
                                            "atime": 1789061653.2805474,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1789061651.6405447,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1566307,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1789061651.6405447,
                                            "nlink": 23,
                                            "path": "src/github.com/vexxhost/atmosphere",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2502155776",
                                            "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/atmosphere/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/molecule/aio/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/atmosphere/extensions/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:34:35.235757Z",
                            "start": "2026-09-10T17:34:34.836423Z"
                        },
                        "id": "0242ac17-0010-4cc7-8547-000000000006",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "aio"
                            ],
                            "delta": "0:08:44.534068",
                            "end": "2026-09-10 17:43:20.175784",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s aio",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-4cc7-8547-000000000007-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-09-10 17:34:35.641716",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "WARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [aio > prerun] Performing prerun with role_name_check=0...\nINFO     [aio > dependency] Executing\nWARNING  [aio > dependency] Missing roles requirements file: requirements.yml\nWARNING  [aio > dependency] Missing collections requirements file: collections.yml\nWARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [aio > cleanup] Executing\nWARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > destroy] Executing\nWARNING  [aio > destroy] Skipping, '--destroy=never' requested.\nINFO     [aio > destroy] Executed: Successful\nINFO     [aio > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nINFO     [aio > syntax] Executed: Successful\nINFO     [aio > create] Executing\nWARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:34:51 +0000 (0:00:00.028)       0:00:00.028 ****\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nThursday 10 September 2026  17:34:52 +0000 (0:00:01.225)       0:00:01.254 ****\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nThursday 10 September 2026  17:34:53 +0000 (0:00:00.731)       0:00:01.986 ****\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created\nwith a mode of 0700, this may cause issues when running as another user. To\navoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [instance]\n\nTASK [Install \"dirmngr\" for GPG keyserver operations] **************************\nThursday 10 September 2026  17:34:53 +0000 (0:00:00.290)       0:00:02.276 ****\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nThursday 10 September 2026  17:34:54 +0000 (0:00:01.238)       0:00:03.514 ****\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nThursday 10 September 2026  17:34:55 +0000 (0:00:00.879)       0:00:04.394 ****\nchanged: [localhost] => (item=group_vars)\nchanged: [localhost] => (item=group_vars/all)\nchanged: [localhost] => (item=group_vars/controllers)\nchanged: [localhost] => (item=group_vars/cephs)\nchanged: [localhost] => (item=group_vars/computes)\nchanged: [localhost] => (item=host_vars)\n\nPLAY [Generate Ceph control plane configuration for workspace] *****************\n\nTASK [Ensure the Ceph control plane configuration file exists] *****************\nThursday 10 September 2026  17:34:56 +0000 (0:00:01.073)       0:00:05.468 ****\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nThursday 10 September 2026  17:34:56 +0000 (0:00:00.184)       0:00:05.652 ****\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nThursday 10 September 2026  17:34:56 +0000 (0:00:00.029)       0:00:05.681 ****\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': 'b6b7f83d-fb4b-5e5d-b5d6-d512abd38ae0'})\nok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})\n\nTASK [Write new Ceph control plane configuration file to disk] *****************\nThursday 10 September 2026  17:34:56 +0000 (0:00:00.075)       0:00:05.757 ****\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nThursday 10 September 2026  17:34:57 +0000 (0:00:00.565)       0:00:06.322 ****\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nThursday 10 September 2026  17:34:57 +0000 (0:00:00.205)       0:00:06.527 ****\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nThursday 10 September 2026  17:34:57 +0000 (0:00:00.036)       0:00:06.564 ****\nok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})\n\nTASK [Write new Ceph OSDs configuration file to disk] **************************\nThursday 10 September 2026  17:34:57 +0000 (0:00:00.051)       0:00:06.616 ****\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nThursday 10 September 2026  17:34:58 +0000 (0:00:00.397)       0:00:07.013 ****\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nThursday 10 September 2026  17:34:58 +0000 (0:00:00.204)       0:00:07.217 ****\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nThursday 10 September 2026  17:34:58 +0000 (0:00:00.033)       0:00:07.251 ****\nok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})\n\nTASK [Write new Kubernetes configuration file to disk] *************************\nThursday 10 September 2026  17:34:58 +0000 (0:00:00.058)       0:00:07.310 ****\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nThursday 10 September 2026  17:34:58 +0000 (0:00:00.388)       0:00:07.698 ****\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nThursday 10 September 2026  17:34:59 +0000 (0:00:00.172)       0:00:07.870 ****\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nThursday 10 September 2026  17:34:59 +0000 (0:00:00.031)       0:00:07.902 ****\nok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})\nok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})\n\nTASK [Write new Keepalived configuration file to disk] *************************\nThursday 10 September 2026  17:34:59 +0000 (0:00:00.054)       0:00:07.956 ****\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:34:59 +0000 (0:00:00.407)       0:00:08.363 ****\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nThursday 10 September 2026  17:35:00 +0000 (0:00:00.737)       0:00:09.100 ****\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nThursday 10 September 2026  17:35:00 +0000 (0:00:00.230)       0:00:09.330 ****\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nThursday 10 September 2026  17:35:00 +0000 (0:00:00.033)       0:00:09.364 ****\nok: [localhost] => (item=keycloak_host)\nok: [localhost] => (item=kube_prometheus_stack_grafana_host)\nok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)\nok: [localhost] => (item=kube_prometheus_stack_prometheus_host)\nok: [localhost] => (item=openstack_helm_endpoints_region_name)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_host)\nok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)\n\nTASK [Write new endpoints file to disk] ****************************************\nThursday 10 September 2026  17:35:01 +0000 (0:00:00.702)       0:00:10.067 ****\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nThursday 10 September 2026  17:35:01 +0000 (0:00:00.393)       0:00:10.461 ****\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nThursday 10 September 2026  17:35:01 +0000 (0:00:00.207)       0:00:10.668 ****\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nThursday 10 September 2026  17:35:01 +0000 (0:00:00.189)       0:00:10.857 ****\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nThursday 10 September 2026  17:35:02 +0000 (0:00:00.038)       0:00:10.895 ****\nok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})\n\nTASK [Write new Neutron configuration file to disk] ****************************\nThursday 10 September 2026  17:35:02 +0000 (0:00:00.053)       0:00:10.949 ****\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nThursday 10 September 2026  17:35:02 +0000 (0:00:00.418)       0:00:11.367 ****\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nThursday 10 September 2026  17:35:02 +0000 (0:00:00.196)       0:00:11.564 ****\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nThursday 10 September 2026  17:35:02 +0000 (0:00:00.035)       0:00:11.599 ****\nok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})\n\nTASK [Write new Nova configuration file to disk] *******************************\nThursday 10 September 2026  17:35:02 +0000 (0:00:00.050)       0:00:11.649 ****\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nThursday 10 September 2026  17:35:03 +0000 (0:00:00.371)       0:00:12.021 ****\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nThursday 10 September 2026  17:35:03 +0000 (0:00:00.174)       0:00:12.196 ****\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nThursday 10 September 2026  17:35:03 +0000 (0:00:00.039)       0:00:12.235 ****\nok: [localhost] => (item=heat_auth_encryption_key)\nok: [localhost] => (item=keepalived_password)\nok: [localhost] => (item=keycloak_admin_password)\nok: [localhost] => (item=keycloak_database_password)\nok: [localhost] => (item=keystone_keycloak_client_secret)\nok: [localhost] => (item=keystone_oidc_crypto_passphrase)\nok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)\nok: [localhost] => (item=octavia_heartbeat_key)\nok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)\nok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)\n\nTASK [Generate base64 encoded secrets] *****************************************\nThursday 10 September 2026  17:35:03 +0000 (0:00:00.389)       0:00:12.625 ****\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nThursday 10 September 2026  17:35:03 +0000 (0:00:00.066)       0:00:12.692 ****\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nThursday 10 September 2026  17:35:04 +0000 (0:00:00.465)       0:00:13.158 ****\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nThursday 10 September 2026  17:35:07 +0000 (0:00:03.081)       0:00:16.239 ****\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nThursday 10 September 2026  17:35:07 +0000 (0:00:00.062)       0:00:16.301 ****\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nThursday 10 September 2026  17:35:07 +0000 (0:00:00.338)       0:00:16.639 ****\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nThursday 10 September 2026  17:35:08 +0000 (0:00:00.357)       0:00:16.997 ****\nskipping: [localhost]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:35:08 +0000 (0:00:00.035)       0:00:17.033 ****\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nThursday 10 September 2026  17:35:08 +0000 (0:00:00.710)       0:00:17.743 ****\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nThursday 10 September 2026  17:35:09 +0000 (0:00:00.358)       0:00:18.102 ****\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nThursday 10 September 2026  17:35:09 +0000 (0:00:00.234)       0:00:18.336 ****\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nThursday 10 September 2026  17:35:09 +0000 (0:00:00.220)       0:00:18.557 ****\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nThursday 10 September 2026  17:35:09 +0000 (0:00:00.250)       0:00:18.807 ****\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:35:10 +0000 (0:00:00.422)       0:00:19.230 ****\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nThursday 10 September 2026  17:35:11 +0000 (0:00:00.811)       0:00:20.042 ****\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nThursday 10 September 2026  17:35:33 +0000 (0:00:22.712)       0:00:42.754 ****\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nThursday 10 September 2026  17:35:34 +0000 (0:00:00.574)       0:00:43.328 ****\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nThursday 10 September 2026  17:35:34 +0000 (0:00:00.202)       0:00:43.531 ****\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nThursday 10 September 2026  17:35:35 +0000 (0:00:00.478)       0:00:44.009 ****\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nThursday 10 September 2026  17:35:35 +0000 (0:00:00.197)       0:00:44.207 ****\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nThursday 10 September 2026  17:35:35 +0000 (0:00:00.032)       0:00:44.239 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nThursday 10 September 2026  17:35:35 +0000 (0:00:00.578)       0:00:44.818 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nThursday 10 September 2026  17:35:36 +0000 (0:00:00.597)       0:00:45.416 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nThursday 10 September 2026  17:35:37 +0000 (0:00:00.772)       0:00:46.189 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nThursday 10 September 2026  17:35:40 +0000 (0:00:03.459)       0:00:49.648 ****\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY [controllers] *************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:35:42 +0000 (0:00:02.032)       0:00:51.681 ****\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nThursday 10 September 2026  17:35:43 +0000 (0:00:00.962)       0:00:52.643 ****\nchanged: [instance]\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\nlocalhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nThursday 10 September 2026  17:35:44 +0000 (0:00:00.531)       0:00:53.175 ****\n===============================================================================\nInstall depedencies ---------------------------------------------------- 22.71s\nCreate a volume group for each loop device ------------------------------ 3.46s\nGenerate SSH keys for missing variables --------------------------------- 3.08s\nCreate a logical volume for each loop device ---------------------------- 2.03s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.24s\nGathering Facts --------------------------------------------------------- 1.23s\nCreate folders for workspace -------------------------------------------- 1.07s\nGathering Facts --------------------------------------------------------- 0.96s\nPurge \"snapd\" package --------------------------------------------------- 0.88s\nGathering Facts --------------------------------------------------------- 0.81s\nStart loop devices ------------------------------------------------------ 0.77s\nGathering Facts --------------------------------------------------------- 0.74s\nConfigure short hostname ------------------------------------------------ 0.73s\nGathering Facts --------------------------------------------------------- 0.71s\nGenerate endpoint skeleton for missing variables ------------------------ 0.70s\nSet permissions on loopback devices ------------------------------------- 0.60s\nCreate devices for Ceph ------------------------------------------------- 0.58s\nStart up service -------------------------------------------------------- 0.57s\nWrite new Ceph control plane configuration file to disk ----------------- 0.57s\nSet masquerade rule ----------------------------------------------------- 0.53s\nINFO     [aio > prepare] Executed: Successful\nINFO     [aio > converge] Executing\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:35:47 +0000 (0:00:00.017)       0:00:00.017 ****\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Fail if atmosphere_ceph_enabled is set] **********************************\nThursday 10 September 2026  17:35:48 +0000 (0:00:01.349)       0:00:01.366 ****\nskipping: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nThursday 10 September 2026  17:35:48 +0000 (0:00:00.052)       0:00:01.418 ****\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:35:48 +0000 (0:00:00.220)       0:00:01.639 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:35:49 +0000 (0:00:00.997)       0:00:02.637 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:35:50 +0000 (0:00:00.359)       0:00:02.997 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 10 September 2026  17:35:50 +0000 (0:00:00.051)       0:00:03.048 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:35:50 +0000 (0:00:00.453)       0:00:03.502 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 10 September 2026  17:35:50 +0000 (0:00:00.096)       0:00:03.598 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:35:51 +0000 (0:00:00.783)       0:00:04.382 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:35:51 +0000 (0:00:00.074)       0:00:04.457 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:35:51 +0000 (0:00:00.063)       0:00:04.521 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:35:51 +0000 (0:00:00.254)       0:00:04.775 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:35:53 +0000 (0:00:01.527)       0:00:06.303 ****\nok: [instance] => {\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 10 September 2026  17:35:53 +0000 (0:00:00.092)       0:00:06.395 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:35:54 +0000 (0:00:00.744)       0:00:07.140 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 10 September 2026  17:35:57 +0000 (0:00:03.041)       0:00:10.181 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 10 September 2026  17:35:57 +0000 (0:00:00.051)       0:00:10.232 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 10 September 2026  17:35:57 +0000 (0:00:00.046)       0:00:10.279 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 10 September 2026  17:35:57 +0000 (0:00:00.038)       0:00:10.318 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 10 September 2026  17:36:02 +0000 (0:00:05.251)       0:00:15.570 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 10 September 2026  17:36:03 +0000 (0:00:00.729)       0:00:16.299 ****\nchanged: [instance] => (item={'path': '/etc/containerd'})\nchanged: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 10 September 2026  17:36:04 +0000 (0:00:01.046)       0:00:17.346 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 10 September 2026  17:36:05 +0000 (0:00:00.614)       0:00:17.960 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nThursday 10 September 2026  17:36:05 +0000 (0:00:00.015)       0:00:17.975 ****\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nThursday 10 September 2026  17:36:05 +0000 (0:00:00.949)       0:00:18.924 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 10 September 2026  17:36:06 +0000 (0:00:00.508)       0:00:19.432 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:36:07 +0000 (0:00:00.615)       0:00:20.048 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:36:07 +0000 (0:00:00.221)       0:00:20.269 ****\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 10 September 2026  17:36:07 +0000 (0:00:00.051)       0:00:20.320 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:36:08 +0000 (0:00:00.866)       0:00:21.187 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 10 September 2026  17:36:12 +0000 (0:00:04.344)       0:00:25.532 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 10 September 2026  17:36:13 +0000 (0:00:01.071)       0:00:26.603 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 10 September 2026  17:36:14 +0000 (0:00:00.622)       0:00:27.225 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 10 September 2026  17:36:14 +0000 (0:00:00.488)       0:00:27.713 ****\nchanged: [instance] => (item={'path': '/etc/docker'})\nchanged: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nchanged: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 10 September 2026  17:36:15 +0000 (0:00:00.634)       0:00:28.348 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 10 September 2026  17:36:15 +0000 (0:00:00.511)       0:00:28.859 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 10 September 2026  17:36:16 +0000 (0:00:00.486)       0:00:29.345 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nThursday 10 September 2026  17:36:16 +0000 (0:00:00.016)       0:00:29.362 ****\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nThursday 10 September 2026  17:36:17 +0000 (0:00:00.721)       0:00:30.084 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 10 September 2026  17:36:18 +0000 (0:00:01.099)       0:00:31.183 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 10 September 2026  17:36:18 +0000 (0:00:00.655)       0:00:31.839 ****\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 10 September 2026  17:36:18 +0000 (0:00:00.087)       0:00:31.926 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 10 September 2026  17:36:24 +0000 (0:00:05.857)       0:00:37.784 ****\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 10 September 2026  17:36:25 +0000 (0:00:00.664)       0:00:38.448 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 10 September 2026  17:36:26 +0000 (0:00:01.255)       0:00:39.704 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 10 September 2026  17:36:27 +0000 (0:00:00.233)       0:00:39.937 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 10 September 2026  17:36:27 +0000 (0:00:00.566)       0:00:40.504 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nThursday 10 September 2026  17:36:27 +0000 (0:00:00.394)       0:00:40.899 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nThursday 10 September 2026  17:36:28 +0000 (0:00:00.153)       0:00:41.053 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nThursday 10 September 2026  17:36:28 +0000 (0:00:00.247)       0:00:41.300 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nThursday 10 September 2026  17:36:28 +0000 (0:00:00.061)       0:00:41.362 ****\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\n\nTASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************\nThursday 10 September 2026  17:36:28 +0000 (0:00:00.081)       0:00:41.443 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nThursday 10 September 2026  17:36:28 +0000 (0:00:00.371)       0:00:41.815 ****\nchanged: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\nchanged: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\nchanged: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\n\nTASK [vexxhost.ceph.mon : Run Bootstrap command] *******************************\nThursday 10 September 2026  17:36:29 +0000 (0:00:00.826)       0:00:42.641 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nThursday 10 September 2026  17:38:04 +0000 (0:01:35.283)       0:02:17.925 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nThursday 10 September 2026  17:38:05 +0000 (0:00:00.254)       0:02:18.179 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nThursday 10 September 2026  17:38:05 +0000 (0:00:00.052)       0:02:18.231 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 10 September 2026  17:38:05 +0000 (0:00:00.108)       0:02:18.340 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 10 September 2026  17:38:11 +0000 (0:00:05.730)       0:02:24.070 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 10 September 2026  17:38:11 +0000 (0:00:00.054)       0:02:24.124 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 10 September 2026  17:38:11 +0000 (0:00:00.453)       0:02:24.578 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nThursday 10 September 2026  17:38:18 +0000 (0:00:06.644)       0:02:31.222 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nThursday 10 September 2026  17:39:12 +0000 (0:00:53.759)       0:03:24.982 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nThursday 10 September 2026  17:39:26 +0000 (0:00:14.226)       0:03:39.209 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 10 September 2026  17:39:26 +0000 (0:00:00.071)       0:03:39.280 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 10 September 2026  17:39:26 +0000 (0:00:00.078)       0:03:39.359 ****\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 10 September 2026  17:39:26 +0000 (0:00:00.070)       0:03:39.429 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 10 September 2026  17:39:26 +0000 (0:00:00.270)       0:03:39.700 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nThursday 10 September 2026  17:39:33 +0000 (0:00:06.524)       0:03:46.224 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nThursday 10 September 2026  17:39:45 +0000 (0:00:12.594)       0:03:58.819 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure manager modules] ***************************\nThursday 10 September 2026  17:39:52 +0000 (0:00:06.116)       0:04:04.935 ****\nchanged: [instance] => (item={'name': 'diskprediction_local'})\nok: [instance] => (item={'name': 'dashboard'})\nchanged: [instance] => (item={'name': 'prometheus'})\nok: [instance] => (item={'name': 'iostat'})\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:39:59 +0000 (0:00:07.267)       0:04:12.203 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:40:00 +0000 (0:00:00.951)       0:04:13.154 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:40:00 +0000 (0:00:00.226)       0:04:13.381 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 10 September 2026  17:40:00 +0000 (0:00:00.037)       0:04:13.419 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:40:00 +0000 (0:00:00.240)       0:04:13.659 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 10 September 2026  17:40:00 +0000 (0:00:00.068)       0:04:13.728 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:40:01 +0000 (0:00:00.335)       0:04:14.064 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:40:01 +0000 (0:00:00.055)       0:04:14.119 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:40:01 +0000 (0:00:00.048)       0:04:14.167 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:40:01 +0000 (0:00:00.232)       0:04:14.400 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:40:02 +0000 (0:00:01.461)       0:04:15.862 ****\nok: [instance] => {\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 10 September 2026  17:40:03 +0000 (0:00:00.084)       0:04:15.946 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:40:03 +0000 (0:00:00.385)       0:04:16.332 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 10 September 2026  17:40:05 +0000 (0:00:01.969)       0:04:18.302 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 10 September 2026  17:40:05 +0000 (0:00:00.037)       0:04:18.339 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 10 September 2026  17:40:05 +0000 (0:00:00.026)       0:04:18.366 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 10 September 2026  17:40:05 +0000 (0:00:00.028)       0:04:18.395 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 10 September 2026  17:40:06 +0000 (0:00:01.487)       0:04:19.883 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 10 September 2026  17:40:07 +0000 (0:00:00.477)       0:04:20.360 ****\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 10 September 2026  17:40:08 +0000 (0:00:00.995)       0:04:21.356 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 10 September 2026  17:40:08 +0000 (0:00:00.547)       0:04:21.904 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 10 September 2026  17:40:08 +0000 (0:00:00.008)       0:04:21.912 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:40:09 +0000 (0:00:00.379)       0:04:22.291 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:40:09 +0000 (0:00:00.265)       0:04:22.557 ****\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 10 September 2026  17:40:09 +0000 (0:00:00.085)       0:04:22.643 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:40:10 +0000 (0:00:00.372)       0:04:23.015 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 10 September 2026  17:40:13 +0000 (0:00:03.217)       0:04:26.233 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 10 September 2026  17:40:14 +0000 (0:00:01.286)       0:04:27.519 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 10 September 2026  17:40:14 +0000 (0:00:00.233)       0:04:27.753 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 10 September 2026  17:40:15 +0000 (0:00:00.469)       0:04:28.222 ****\nok: [instance] => (item={'path': '/etc/docker'})\nok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 10 September 2026  17:40:15 +0000 (0:00:00.620)       0:04:28.843 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 10 September 2026  17:40:16 +0000 (0:00:00.464)       0:04:29.308 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 10 September 2026  17:40:16 +0000 (0:00:00.467)       0:04:29.776 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 10 September 2026  17:40:16 +0000 (0:00:00.013)       0:04:29.790 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 10 September 2026  17:40:17 +0000 (0:00:00.397)       0:04:30.187 ****\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 10 September 2026  17:40:17 +0000 (0:00:00.072)       0:04:30.260 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 10 September 2026  17:40:18 +0000 (0:00:01.345)       0:04:31.606 ****\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 10 September 2026  17:40:19 +0000 (0:00:00.671)       0:04:32.277 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 10 September 2026  17:40:26 +0000 (0:00:06.853)       0:04:39.131 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 10 September 2026  17:40:26 +0000 (0:00:00.208)       0:04:39.339 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 10 September 2026  17:40:26 +0000 (0:00:00.262)       0:04:39.601 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nThursday 10 September 2026  17:40:26 +0000 (0:00:00.203)       0:04:39.804 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nThursday 10 September 2026  17:40:27 +0000 (0:00:00.243)       0:04:40.048 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nThursday 10 September 2026  17:40:27 +0000 (0:00:00.054)       0:04:40.103 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 10 September 2026  17:40:27 +0000 (0:00:00.069)       0:04:40.172 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 10 September 2026  17:40:27 +0000 (0:00:00.051)       0:04:40.223 ****\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 10 September 2026  17:40:27 +0000 (0:00:00.067)       0:04:40.291 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 10 September 2026  17:40:27 +0000 (0:00:00.284)       0:04:40.575 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nThursday 10 September 2026  17:40:34 +0000 (0:00:06.573)       0:04:47.149 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nThursday 10 September 2026  17:40:39 +0000 (0:00:05.459)       0:04:52.608 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nThursday 10 September 2026  17:40:53 +0000 (0:00:14.126)       0:05:06.735 ****\nok: [instance] => (item=/dev/ceph-instance-osd0/data)\nok: [instance] => (item=/dev/ceph-instance-osd1/data)\nok: [instance] => (item=/dev/ceph-instance-osd2/data)\n\nTASK [vexxhost.ceph.osd : Get mon dump] ****************************************\nThursday 10 September 2026  17:42:27 +0000 (0:01:33.844)       0:06:40.580 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nThursday 10 September 2026  17:42:33 +0000 (0:00:05.910)       0:06:46.491 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nThursday 10 September 2026  17:42:39 +0000 (0:00:06.231)       0:06:52.722 ****\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nThursday 10 September 2026  17:42:39 +0000 (0:00:00.078)       0:06:52.800 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nThursday 10 September 2026  17:42:39 +0000 (0:00:00.067)       0:06:52.867 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nThursday 10 September 2026  17:42:46 +0000 (0:00:06.235)       0:06:59.103 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nThursday 10 September 2026  17:42:46 +0000 (0:00:00.064)       0:06:59.167 ****\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\nThursday 10 September 2026  17:42:46 +0000 (0:00:00.064)       0:06:59.231 ****\nskipping: [instance]\n\nPLAY [Deploy Ceph exporters] ***************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 10 September 2026  17:42:46 +0000 (0:00:00.105)       0:06:59.337 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:42:47 +0000 (0:00:01.002)       0:07:00.339 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:42:47 +0000 (0:00:00.246)       0:07:00.586 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 10 September 2026  17:42:47 +0000 (0:00:00.062)       0:07:00.648 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:42:47 +0000 (0:00:00.258)       0:07:00.907 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 10 September 2026  17:42:48 +0000 (0:00:00.065)       0:07:00.973 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:42:48 +0000 (0:00:00.341)       0:07:01.314 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:42:48 +0000 (0:00:00.069)       0:07:01.384 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:42:48 +0000 (0:00:00.064)       0:07:01.449 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 10 September 2026  17:42:48 +0000 (0:00:00.233)       0:07:01.682 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:42:50 +0000 (0:00:01.341)       0:07:03.023 ****\nok: [instance] => {\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 10 September 2026  17:42:50 +0000 (0:00:00.092)       0:07:03.116 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:42:50 +0000 (0:00:00.365)       0:07:03.481 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 10 September 2026  17:42:52 +0000 (0:00:02.040)       0:07:05.521 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 10 September 2026  17:42:52 +0000 (0:00:00.041)       0:07:05.563 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 10 September 2026  17:42:52 +0000 (0:00:00.038)       0:07:05.601 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 10 September 2026  17:42:52 +0000 (0:00:00.045)       0:07:05.647 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 10 September 2026  17:42:54 +0000 (0:00:01.406)       0:07:07.053 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 10 September 2026  17:42:54 +0000 (0:00:00.485)       0:07:07.539 ****\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nThursday 10 September 2026  17:42:55 +0000 (0:00:01.052)       0:07:08.591 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 10 September 2026  17:42:56 +0000 (0:00:00.573)       0:07:09.165 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 10 September 2026  17:42:56 +0000 (0:00:00.011)       0:07:09.177 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 10 September 2026  17:42:56 +0000 (0:00:00.386)       0:07:09.563 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 10 September 2026  17:42:56 +0000 (0:00:00.265)       0:07:09.829 ****\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 10 September 2026  17:42:56 +0000 (0:00:00.076)       0:07:09.905 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 10 September 2026  17:42:57 +0000 (0:00:00.394)       0:07:10.300 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 10 September 2026  17:43:00 +0000 (0:00:03.213)       0:07:13.513 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 10 September 2026  17:43:02 +0000 (0:00:01.460)       0:07:14.974 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 10 September 2026  17:43:02 +0000 (0:00:00.217)       0:07:15.191 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 10 September 2026  17:43:02 +0000 (0:00:00.486)       0:07:15.677 ****\nok: [instance] => (item={'path': '/etc/docker'})\nok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nThursday 10 September 2026  17:43:03 +0000 (0:00:00.632)       0:07:16.309 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 10 September 2026  17:43:03 +0000 (0:00:00.474)       0:07:16.784 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 10 September 2026  17:43:04 +0000 (0:00:00.509)       0:07:17.294 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 10 September 2026  17:43:04 +0000 (0:00:00.019)       0:07:17.313 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 10 September 2026  17:43:04 +0000 (0:00:00.386)       0:07:17.700 ****\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nThursday 10 September 2026  17:43:04 +0000 (0:00:00.077)       0:07:17.777 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 10 September 2026  17:43:06 +0000 (0:00:01.328)       0:07:19.106 ****\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 10 September 2026  17:43:06 +0000 (0:00:00.733)       0:07:19.839 ****\nAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: TimeoutError: The read operation timed out\nfatal: [instance]: FAILED! => {\"changed\": false, \"elapsed\": 1, \"msg\": \"failed to create temporary content file: The read operation timed out\"}\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=137  changed=29   unreachable=0    failed=1    skipped=25   rescued=0    ignored=0\n\nThursday 10 September 2026  17:43:19 +0000 (0:00:12.972)       0:07:32.812 ****\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap command ------------------------------ 95.28s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 93.84s\nvexxhost.ceph.mon : Configure \"mon\" label for monitors ----------------- 53.76s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 14.23s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 14.13s\nvexxhost.ceph.cephadm : Download \"cephadm\" ----------------------------- 12.97s\nvexxhost.ceph.mgr : Configure \"mgr\" label for managers ----------------- 12.59s\nvexxhost.ceph.mgr : Configure manager modules --------------------------- 7.27s\nvexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 6.85s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.64s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.57s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.52s\nvexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 6.24s\nvexxhost.ceph.osd : Mark require osd release ---------------------------- 6.23s\nvexxhost.ceph.mgr : Validate manager exist ------------------------------ 6.12s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 5.91s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 5.86s\nvexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 5.73s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.46s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 5.25s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                            "stdout_lines": [
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [aio > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [aio > dependency] Executing",
                                "WARNING  [aio > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [aio > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [aio > cleanup] Executing",
                                "WARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > destroy] Executing",
                                "WARNING  [aio > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [aio > destroy] Executed: Successful",
                                "INFO     [aio > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "INFO     [aio > syntax] Executed: Successful",
                                "INFO     [aio > create] Executing",
                                "WARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:34:51 +0000 (0:00:00.028)       0:00:00.028 ****",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Thursday 10 September 2026  17:34:52 +0000 (0:00:01.225)       0:00:01.254 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Thursday 10 September 2026  17:34:53 +0000 (0:00:00.731)       0:00:01.986 ****",
                                "[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created",
                                "with a mode of 0700, this may cause issues when running as another user. To",
                                "avoid this, create the remote_tmp dir with the correct permissions manually",
                                "changed: [instance]",
                                "",
                                "TASK [Install \"dirmngr\" for GPG keyserver operations] **************************",
                                "Thursday 10 September 2026  17:34:53 +0000 (0:00:00.290)       0:00:02.276 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Thursday 10 September 2026  17:34:54 +0000 (0:00:01.238)       0:00:03.514 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Thursday 10 September 2026  17:34:55 +0000 (0:00:00.879)       0:00:04.394 ****",
                                "changed: [localhost] => (item=group_vars)",
                                "changed: [localhost] => (item=group_vars/all)",
                                "changed: [localhost] => (item=group_vars/controllers)",
                                "changed: [localhost] => (item=group_vars/cephs)",
                                "changed: [localhost] => (item=group_vars/computes)",
                                "changed: [localhost] => (item=host_vars)",
                                "",
                                "PLAY [Generate Ceph control plane configuration for workspace] *****************",
                                "",
                                "TASK [Ensure the Ceph control plane configuration file exists] *****************",
                                "Thursday 10 September 2026  17:34:56 +0000 (0:00:01.073)       0:00:05.468 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Thursday 10 September 2026  17:34:56 +0000 (0:00:00.184)       0:00:05.652 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Thursday 10 September 2026  17:34:56 +0000 (0:00:00.029)       0:00:05.681 ****",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': 'b6b7f83d-fb4b-5e5d-b5d6-d512abd38ae0'})",
                                "ok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})",
                                "",
                                "TASK [Write new Ceph control plane configuration file to disk] *****************",
                                "Thursday 10 September 2026  17:34:56 +0000 (0:00:00.075)       0:00:05.757 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Thursday 10 September 2026  17:34:57 +0000 (0:00:00.565)       0:00:06.322 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Thursday 10 September 2026  17:34:57 +0000 (0:00:00.205)       0:00:06.527 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Thursday 10 September 2026  17:34:57 +0000 (0:00:00.036)       0:00:06.564 ****",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Thursday 10 September 2026  17:34:57 +0000 (0:00:00.051)       0:00:06.616 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Thursday 10 September 2026  17:34:58 +0000 (0:00:00.397)       0:00:07.013 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Thursday 10 September 2026  17:34:58 +0000 (0:00:00.204)       0:00:07.217 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Thursday 10 September 2026  17:34:58 +0000 (0:00:00.033)       0:00:07.251 ****",
                                "ok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})",
                                "",
                                "TASK [Write new Kubernetes configuration file to disk] *************************",
                                "Thursday 10 September 2026  17:34:58 +0000 (0:00:00.058)       0:00:07.310 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Thursday 10 September 2026  17:34:58 +0000 (0:00:00.388)       0:00:07.698 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Thursday 10 September 2026  17:34:59 +0000 (0:00:00.172)       0:00:07.870 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Thursday 10 September 2026  17:34:59 +0000 (0:00:00.031)       0:00:07.902 ****",
                                "ok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})",
                                "ok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})",
                                "",
                                "TASK [Write new Keepalived configuration file to disk] *************************",
                                "Thursday 10 September 2026  17:34:59 +0000 (0:00:00.054)       0:00:07.956 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:34:59 +0000 (0:00:00.407)       0:00:08.363 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Thursday 10 September 2026  17:35:00 +0000 (0:00:00.737)       0:00:09.100 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Thursday 10 September 2026  17:35:00 +0000 (0:00:00.230)       0:00:09.330 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Thursday 10 September 2026  17:35:00 +0000 (0:00:00.033)       0:00:09.364 ****",
                                "ok: [localhost] => (item=keycloak_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_prometheus_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_region_name)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)",
                                "",
                                "TASK [Write new endpoints file to disk] ****************************************",
                                "Thursday 10 September 2026  17:35:01 +0000 (0:00:00.702)       0:00:10.067 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Thursday 10 September 2026  17:35:01 +0000 (0:00:00.393)       0:00:10.461 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Thursday 10 September 2026  17:35:01 +0000 (0:00:00.207)       0:00:10.668 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Thursday 10 September 2026  17:35:01 +0000 (0:00:00.189)       0:00:10.857 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Thursday 10 September 2026  17:35:02 +0000 (0:00:00.038)       0:00:10.895 ****",
                                "ok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})",
                                "",
                                "TASK [Write new Neutron configuration file to disk] ****************************",
                                "Thursday 10 September 2026  17:35:02 +0000 (0:00:00.053)       0:00:10.949 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Thursday 10 September 2026  17:35:02 +0000 (0:00:00.418)       0:00:11.367 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Thursday 10 September 2026  17:35:02 +0000 (0:00:00.196)       0:00:11.564 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Thursday 10 September 2026  17:35:02 +0000 (0:00:00.035)       0:00:11.599 ****",
                                "ok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})",
                                "",
                                "TASK [Write new Nova configuration file to disk] *******************************",
                                "Thursday 10 September 2026  17:35:02 +0000 (0:00:00.050)       0:00:11.649 ****",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Thursday 10 September 2026  17:35:03 +0000 (0:00:00.371)       0:00:12.021 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Thursday 10 September 2026  17:35:03 +0000 (0:00:00.174)       0:00:12.196 ****",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Thursday 10 September 2026  17:35:03 +0000 (0:00:00.039)       0:00:12.235 ****",
                                "ok: [localhost] => (item=heat_auth_encryption_key)",
                                "ok: [localhost] => (item=keepalived_password)",
                                "ok: [localhost] => (item=keycloak_admin_password)",
                                "ok: [localhost] => (item=keycloak_database_password)",
                                "ok: [localhost] => (item=keystone_keycloak_client_secret)",
                                "ok: [localhost] => (item=keystone_oidc_crypto_passphrase)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)",
                                "ok: [localhost] => (item=octavia_heartbeat_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)",
                                "",
                                "TASK [Generate base64 encoded secrets] *****************************************",
                                "Thursday 10 September 2026  17:35:03 +0000 (0:00:00.389)       0:00:12.625 ****",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Thursday 10 September 2026  17:35:03 +0000 (0:00:00.066)       0:00:12.692 ****",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Thursday 10 September 2026  17:35:04 +0000 (0:00:00.465)       0:00:13.158 ****",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Thursday 10 September 2026  17:35:07 +0000 (0:00:03.081)       0:00:16.239 ****",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Thursday 10 September 2026  17:35:07 +0000 (0:00:00.062)       0:00:16.301 ****",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Thursday 10 September 2026  17:35:07 +0000 (0:00:00.338)       0:00:16.639 ****",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Thursday 10 September 2026  17:35:08 +0000 (0:00:00.357)       0:00:16.997 ****",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:35:08 +0000 (0:00:00.035)       0:00:17.033 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Thursday 10 September 2026  17:35:08 +0000 (0:00:00.710)       0:00:17.743 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Thursday 10 September 2026  17:35:09 +0000 (0:00:00.358)       0:00:18.102 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Thursday 10 September 2026  17:35:09 +0000 (0:00:00.234)       0:00:18.336 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Thursday 10 September 2026  17:35:09 +0000 (0:00:00.220)       0:00:18.557 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Thursday 10 September 2026  17:35:09 +0000 (0:00:00.250)       0:00:18.807 ****",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:35:10 +0000 (0:00:00.422)       0:00:19.230 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Thursday 10 September 2026  17:35:11 +0000 (0:00:00.811)       0:00:20.042 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Thursday 10 September 2026  17:35:33 +0000 (0:00:22.712)       0:00:42.754 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Thursday 10 September 2026  17:35:34 +0000 (0:00:00.574)       0:00:43.328 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Thursday 10 September 2026  17:35:34 +0000 (0:00:00.202)       0:00:43.531 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Thursday 10 September 2026  17:35:35 +0000 (0:00:00.478)       0:00:44.009 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Thursday 10 September 2026  17:35:35 +0000 (0:00:00.197)       0:00:44.207 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Thursday 10 September 2026  17:35:35 +0000 (0:00:00.032)       0:00:44.239 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Thursday 10 September 2026  17:35:35 +0000 (0:00:00.578)       0:00:44.818 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Thursday 10 September 2026  17:35:36 +0000 (0:00:00.597)       0:00:45.416 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Thursday 10 September 2026  17:35:37 +0000 (0:00:00.772)       0:00:46.189 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Thursday 10 September 2026  17:35:40 +0000 (0:00:03.459)       0:00:49.648 ****",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:35:42 +0000 (0:00:02.032)       0:00:51.681 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Thursday 10 September 2026  17:35:43 +0000 (0:00:00.962)       0:00:52.643 ****",
                                "changed: [instance]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "localhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Thursday 10 September 2026  17:35:44 +0000 (0:00:00.531)       0:00:53.175 ****",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 22.71s",
                                "Create a volume group for each loop device ------------------------------ 3.46s",
                                "Generate SSH keys for missing variables --------------------------------- 3.08s",
                                "Create a logical volume for each loop device ---------------------------- 2.03s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.24s",
                                "Gathering Facts --------------------------------------------------------- 1.23s",
                                "Create folders for workspace -------------------------------------------- 1.07s",
                                "Gathering Facts --------------------------------------------------------- 0.96s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.88s",
                                "Gathering Facts --------------------------------------------------------- 0.81s",
                                "Start loop devices ------------------------------------------------------ 0.77s",
                                "Gathering Facts --------------------------------------------------------- 0.74s",
                                "Configure short hostname ------------------------------------------------ 0.73s",
                                "Gathering Facts --------------------------------------------------------- 0.71s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.70s",
                                "Set permissions on loopback devices ------------------------------------- 0.60s",
                                "Create devices for Ceph ------------------------------------------------- 0.58s",
                                "Start up service -------------------------------------------------------- 0.57s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.57s",
                                "Set masquerade rule ----------------------------------------------------- 0.53s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     [aio > converge] Executing",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:35:47 +0000 (0:00:00.017)       0:00:00.017 ****",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "Thursday 10 September 2026  17:35:48 +0000 (0:00:01.349)       0:00:01.366 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Thursday 10 September 2026  17:35:48 +0000 (0:00:00.052)       0:00:01.418 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:35:48 +0000 (0:00:00.220)       0:00:01.639 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:35:49 +0000 (0:00:00.997)       0:00:02.637 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:35:50 +0000 (0:00:00.359)       0:00:02.997 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 10 September 2026  17:35:50 +0000 (0:00:00.051)       0:00:03.048 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:35:50 +0000 (0:00:00.453)       0:00:03.502 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 10 September 2026  17:35:50 +0000 (0:00:00.096)       0:00:03.598 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:35:51 +0000 (0:00:00.783)       0:00:04.382 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:35:51 +0000 (0:00:00.074)       0:00:04.457 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:35:51 +0000 (0:00:00.063)       0:00:04.521 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:35:51 +0000 (0:00:00.254)       0:00:04.775 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:35:53 +0000 (0:00:01.527)       0:00:06.303 ****",
                                "ok: [instance] => {",
                                "    \"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 10 September 2026  17:35:53 +0000 (0:00:00.092)       0:00:06.395 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:35:54 +0000 (0:00:00.744)       0:00:07.140 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 10 September 2026  17:35:57 +0000 (0:00:03.041)       0:00:10.181 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 10 September 2026  17:35:57 +0000 (0:00:00.051)       0:00:10.232 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 10 September 2026  17:35:57 +0000 (0:00:00.046)       0:00:10.279 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 10 September 2026  17:35:57 +0000 (0:00:00.038)       0:00:10.318 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 10 September 2026  17:36:02 +0000 (0:00:05.251)       0:00:15.570 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 10 September 2026  17:36:03 +0000 (0:00:00.729)       0:00:16.299 ****",
                                "changed: [instance] => (item={'path': '/etc/containerd'})",
                                "changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 10 September 2026  17:36:04 +0000 (0:00:01.046)       0:00:17.346 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 10 September 2026  17:36:05 +0000 (0:00:00.614)       0:00:17.960 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Thursday 10 September 2026  17:36:05 +0000 (0:00:00.015)       0:00:17.975 ****",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Thursday 10 September 2026  17:36:05 +0000 (0:00:00.949)       0:00:18.924 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 10 September 2026  17:36:06 +0000 (0:00:00.508)       0:00:19.432 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:36:07 +0000 (0:00:00.615)       0:00:20.048 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:36:07 +0000 (0:00:00.221)       0:00:20.269 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 10 September 2026  17:36:07 +0000 (0:00:00.051)       0:00:20.320 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:36:08 +0000 (0:00:00.866)       0:00:21.187 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 10 September 2026  17:36:12 +0000 (0:00:04.344)       0:00:25.532 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 10 September 2026  17:36:13 +0000 (0:00:01.071)       0:00:26.603 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 10 September 2026  17:36:14 +0000 (0:00:00.622)       0:00:27.225 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 10 September 2026  17:36:14 +0000 (0:00:00.488)       0:00:27.713 ****",
                                "changed: [instance] => (item={'path': '/etc/docker'})",
                                "changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 10 September 2026  17:36:15 +0000 (0:00:00.634)       0:00:28.348 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 10 September 2026  17:36:15 +0000 (0:00:00.511)       0:00:28.859 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 10 September 2026  17:36:16 +0000 (0:00:00.486)       0:00:29.345 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Thursday 10 September 2026  17:36:16 +0000 (0:00:00.016)       0:00:29.362 ****",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Thursday 10 September 2026  17:36:17 +0000 (0:00:00.721)       0:00:30.084 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 10 September 2026  17:36:18 +0000 (0:00:01.099)       0:00:31.183 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 10 September 2026  17:36:18 +0000 (0:00:00.655)       0:00:31.839 ****",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 10 September 2026  17:36:18 +0000 (0:00:00.087)       0:00:31.926 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 10 September 2026  17:36:24 +0000 (0:00:05.857)       0:00:37.784 ****",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 10 September 2026  17:36:25 +0000 (0:00:00.664)       0:00:38.448 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 10 September 2026  17:36:26 +0000 (0:00:01.255)       0:00:39.704 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 10 September 2026  17:36:27 +0000 (0:00:00.233)       0:00:39.937 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 10 September 2026  17:36:27 +0000 (0:00:00.566)       0:00:40.504 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Thursday 10 September 2026  17:36:27 +0000 (0:00:00.394)       0:00:40.899 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Thursday 10 September 2026  17:36:28 +0000 (0:00:00.153)       0:00:41.053 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Thursday 10 September 2026  17:36:28 +0000 (0:00:00.247)       0:00:41.300 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Thursday 10 September 2026  17:36:28 +0000 (0:00:00.061)       0:00:41.362 ****",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************",
                                "Thursday 10 September 2026  17:36:28 +0000 (0:00:00.081)       0:00:41.443 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Thursday 10 September 2026  17:36:28 +0000 (0:00:00.371)       0:00:41.815 ****",
                                "changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})",
                                "changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})",
                                "changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})",
                                "",
                                "TASK [vexxhost.ceph.mon : Run Bootstrap command] *******************************",
                                "Thursday 10 September 2026  17:36:29 +0000 (0:00:00.826)       0:00:42.641 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Thursday 10 September 2026  17:38:04 +0000 (0:01:35.283)       0:02:17.925 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Thursday 10 September 2026  17:38:05 +0000 (0:00:00.254)       0:02:18.179 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 10 September 2026  17:38:05 +0000 (0:00:00.052)       0:02:18.231 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 10 September 2026  17:38:05 +0000 (0:00:00.108)       0:02:18.340 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 10 September 2026  17:38:11 +0000 (0:00:05.730)       0:02:24.070 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 10 September 2026  17:38:11 +0000 (0:00:00.054)       0:02:24.124 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 10 September 2026  17:38:11 +0000 (0:00:00.453)       0:02:24.578 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Thursday 10 September 2026  17:38:18 +0000 (0:00:06.644)       0:02:31.222 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Thursday 10 September 2026  17:39:12 +0000 (0:00:53.759)       0:03:24.982 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 10 September 2026  17:39:26 +0000 (0:00:14.226)       0:03:39.209 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 10 September 2026  17:39:26 +0000 (0:00:00.071)       0:03:39.280 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 10 September 2026  17:39:26 +0000 (0:00:00.078)       0:03:39.359 ****",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 10 September 2026  17:39:26 +0000 (0:00:00.070)       0:03:39.429 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 10 September 2026  17:39:26 +0000 (0:00:00.270)       0:03:39.700 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Thursday 10 September 2026  17:39:33 +0000 (0:00:06.524)       0:03:46.224 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Thursday 10 September 2026  17:39:45 +0000 (0:00:12.594)       0:03:58.819 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure manager modules] ***************************",
                                "Thursday 10 September 2026  17:39:52 +0000 (0:00:06.116)       0:04:04.935 ****",
                                "changed: [instance] => (item={'name': 'diskprediction_local'})",
                                "ok: [instance] => (item={'name': 'dashboard'})",
                                "changed: [instance] => (item={'name': 'prometheus'})",
                                "ok: [instance] => (item={'name': 'iostat'})",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:39:59 +0000 (0:00:07.267)       0:04:12.203 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:40:00 +0000 (0:00:00.951)       0:04:13.154 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:40:00 +0000 (0:00:00.226)       0:04:13.381 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 10 September 2026  17:40:00 +0000 (0:00:00.037)       0:04:13.419 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:40:00 +0000 (0:00:00.240)       0:04:13.659 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 10 September 2026  17:40:00 +0000 (0:00:00.068)       0:04:13.728 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:40:01 +0000 (0:00:00.335)       0:04:14.064 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:40:01 +0000 (0:00:00.055)       0:04:14.119 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:40:01 +0000 (0:00:00.048)       0:04:14.167 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:40:01 +0000 (0:00:00.232)       0:04:14.400 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:40:02 +0000 (0:00:01.461)       0:04:15.862 ****",
                                "ok: [instance] => {",
                                "    \"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 10 September 2026  17:40:03 +0000 (0:00:00.084)       0:04:15.946 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:40:03 +0000 (0:00:00.385)       0:04:16.332 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 10 September 2026  17:40:05 +0000 (0:00:01.969)       0:04:18.302 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 10 September 2026  17:40:05 +0000 (0:00:00.037)       0:04:18.339 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 10 September 2026  17:40:05 +0000 (0:00:00.026)       0:04:18.366 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 10 September 2026  17:40:05 +0000 (0:00:00.028)       0:04:18.395 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 10 September 2026  17:40:06 +0000 (0:00:01.487)       0:04:19.883 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 10 September 2026  17:40:07 +0000 (0:00:00.477)       0:04:20.360 ****",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 10 September 2026  17:40:08 +0000 (0:00:00.995)       0:04:21.356 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 10 September 2026  17:40:08 +0000 (0:00:00.547)       0:04:21.904 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 10 September 2026  17:40:08 +0000 (0:00:00.008)       0:04:21.912 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:40:09 +0000 (0:00:00.379)       0:04:22.291 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:40:09 +0000 (0:00:00.265)       0:04:22.557 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 10 September 2026  17:40:09 +0000 (0:00:00.085)       0:04:22.643 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:40:10 +0000 (0:00:00.372)       0:04:23.015 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 10 September 2026  17:40:13 +0000 (0:00:03.217)       0:04:26.233 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 10 September 2026  17:40:14 +0000 (0:00:01.286)       0:04:27.519 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 10 September 2026  17:40:14 +0000 (0:00:00.233)       0:04:27.753 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 10 September 2026  17:40:15 +0000 (0:00:00.469)       0:04:28.222 ****",
                                "ok: [instance] => (item={'path': '/etc/docker'})",
                                "ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 10 September 2026  17:40:15 +0000 (0:00:00.620)       0:04:28.843 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 10 September 2026  17:40:16 +0000 (0:00:00.464)       0:04:29.308 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 10 September 2026  17:40:16 +0000 (0:00:00.467)       0:04:29.776 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 10 September 2026  17:40:16 +0000 (0:00:00.013)       0:04:29.790 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 10 September 2026  17:40:17 +0000 (0:00:00.397)       0:04:30.187 ****",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 10 September 2026  17:40:17 +0000 (0:00:00.072)       0:04:30.260 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 10 September 2026  17:40:18 +0000 (0:00:01.345)       0:04:31.606 ****",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 10 September 2026  17:40:19 +0000 (0:00:00.671)       0:04:32.277 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 10 September 2026  17:40:26 +0000 (0:00:06.853)       0:04:39.131 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 10 September 2026  17:40:26 +0000 (0:00:00.208)       0:04:39.339 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 10 September 2026  17:40:26 +0000 (0:00:00.262)       0:04:39.601 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Thursday 10 September 2026  17:40:26 +0000 (0:00:00.203)       0:04:39.804 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Thursday 10 September 2026  17:40:27 +0000 (0:00:00.243)       0:04:40.048 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 10 September 2026  17:40:27 +0000 (0:00:00.054)       0:04:40.103 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 10 September 2026  17:40:27 +0000 (0:00:00.069)       0:04:40.172 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 10 September 2026  17:40:27 +0000 (0:00:00.051)       0:04:40.223 ****",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 10 September 2026  17:40:27 +0000 (0:00:00.067)       0:04:40.291 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 10 September 2026  17:40:27 +0000 (0:00:00.284)       0:04:40.575 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Thursday 10 September 2026  17:40:34 +0000 (0:00:06.573)       0:04:47.149 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Thursday 10 September 2026  17:40:39 +0000 (0:00:05.459)       0:04:52.608 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Thursday 10 September 2026  17:40:53 +0000 (0:00:14.126)       0:05:06.735 ****",
                                "ok: [instance] => (item=/dev/ceph-instance-osd0/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd1/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd2/data)",
                                "",
                                "TASK [vexxhost.ceph.osd : Get mon dump] ****************************************",
                                "Thursday 10 September 2026  17:42:27 +0000 (0:01:33.844)       0:06:40.580 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Thursday 10 September 2026  17:42:33 +0000 (0:00:05.910)       0:06:46.491 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Thursday 10 September 2026  17:42:39 +0000 (0:00:06.231)       0:06:52.722 ****",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Thursday 10 September 2026  17:42:39 +0000 (0:00:00.078)       0:06:52.800 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Thursday 10 September 2026  17:42:39 +0000 (0:00:00.067)       0:06:52.867 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Thursday 10 September 2026  17:42:46 +0000 (0:00:06.235)       0:06:59.103 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Thursday 10 September 2026  17:42:46 +0000 (0:00:00.064)       0:06:59.167 ****",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Thursday 10 September 2026  17:42:46 +0000 (0:00:00.064)       0:06:59.231 ****",
                                "skipping: [instance]",
                                "",
                                "PLAY [Deploy Ceph exporters] ***************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 10 September 2026  17:42:46 +0000 (0:00:00.105)       0:06:59.337 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:42:47 +0000 (0:00:01.002)       0:07:00.339 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:42:47 +0000 (0:00:00.246)       0:07:00.586 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 10 September 2026  17:42:47 +0000 (0:00:00.062)       0:07:00.648 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:42:47 +0000 (0:00:00.258)       0:07:00.907 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 10 September 2026  17:42:48 +0000 (0:00:00.065)       0:07:00.973 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:42:48 +0000 (0:00:00.341)       0:07:01.314 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:42:48 +0000 (0:00:00.069)       0:07:01.384 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:42:48 +0000 (0:00:00.064)       0:07:01.449 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 10 September 2026  17:42:48 +0000 (0:00:00.233)       0:07:01.682 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:42:50 +0000 (0:00:01.341)       0:07:03.023 ****",
                                "ok: [instance] => {",
                                "    \"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 10 September 2026  17:42:50 +0000 (0:00:00.092)       0:07:03.116 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:42:50 +0000 (0:00:00.365)       0:07:03.481 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 10 September 2026  17:42:52 +0000 (0:00:02.040)       0:07:05.521 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 10 September 2026  17:42:52 +0000 (0:00:00.041)       0:07:05.563 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 10 September 2026  17:42:52 +0000 (0:00:00.038)       0:07:05.601 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 10 September 2026  17:42:52 +0000 (0:00:00.045)       0:07:05.647 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 10 September 2026  17:42:54 +0000 (0:00:01.406)       0:07:07.053 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 10 September 2026  17:42:54 +0000 (0:00:00.485)       0:07:07.539 ****",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Thursday 10 September 2026  17:42:55 +0000 (0:00:01.052)       0:07:08.591 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 10 September 2026  17:42:56 +0000 (0:00:00.573)       0:07:09.165 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 10 September 2026  17:42:56 +0000 (0:00:00.011)       0:07:09.177 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 10 September 2026  17:42:56 +0000 (0:00:00.386)       0:07:09.563 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 10 September 2026  17:42:56 +0000 (0:00:00.265)       0:07:09.829 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 10 September 2026  17:42:56 +0000 (0:00:00.076)       0:07:09.905 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 10 September 2026  17:42:57 +0000 (0:00:00.394)       0:07:10.300 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 10 September 2026  17:43:00 +0000 (0:00:03.213)       0:07:13.513 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 10 September 2026  17:43:02 +0000 (0:00:01.460)       0:07:14.974 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 10 September 2026  17:43:02 +0000 (0:00:00.217)       0:07:15.191 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 10 September 2026  17:43:02 +0000 (0:00:00.486)       0:07:15.677 ****",
                                "ok: [instance] => (item={'path': '/etc/docker'})",
                                "ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Thursday 10 September 2026  17:43:03 +0000 (0:00:00.632)       0:07:16.309 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 10 September 2026  17:43:03 +0000 (0:00:00.474)       0:07:16.784 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 10 September 2026  17:43:04 +0000 (0:00:00.509)       0:07:17.294 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 10 September 2026  17:43:04 +0000 (0:00:00.019)       0:07:17.313 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 10 September 2026  17:43:04 +0000 (0:00:00.386)       0:07:17.700 ****",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Thursday 10 September 2026  17:43:04 +0000 (0:00:00.077)       0:07:17.777 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 10 September 2026  17:43:06 +0000 (0:00:01.328)       0:07:19.106 ****",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 10 September 2026  17:43:06 +0000 (0:00:00.733)       0:07:19.839 ****",
                                "An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TimeoutError: The read operation timed out",
                                "fatal: [instance]: FAILED! => {\"changed\": false, \"elapsed\": 1, \"msg\": \"failed to create temporary content file: The read operation timed out\"}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=137  changed=29   unreachable=0    failed=1    skipped=25   rescued=0    ignored=0",
                                "",
                                "Thursday 10 September 2026  17:43:19 +0000 (0:00:12.972)       0:07:32.812 ****",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap command ------------------------------ 95.28s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 93.84s",
                                "vexxhost.ceph.mon : Configure \"mon\" label for monitors ----------------- 53.76s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 14.23s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 14.13s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ----------------------------- 12.97s",
                                "vexxhost.ceph.mgr : Configure \"mgr\" label for managers ----------------- 12.59s",
                                "vexxhost.ceph.mgr : Configure manager modules --------------------------- 7.27s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 6.85s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.64s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.57s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.52s",
                                "vexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 6.24s",
                                "vexxhost.ceph.osd : Mark require osd release ---------------------------- 6.23s",
                                "vexxhost.ceph.mgr : Validate manager exist ------------------------------ 6.12s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 5.91s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 5.86s",
                                "vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 5.73s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.46s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 5.25s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "ERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0010-4cc7-8547-000000000007-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:20.537403Z",
                            "start": "2026-09-10T17:34:35.280475Z"
                        },
                        "id": "0242ac17-0010-4cc7-8547-000000000007",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere-zuul-jobs/playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:43:31.916347Z",
                    "start": "2026-09-10T17:43:21.399370Z"
                },
                "id": "0242ac17-0010-e937-fabc-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:21.787393Z",
                            "start": "2026-09-10T17:43:21.414048Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.124465",
                            "end": "2026-09-10 17:43:22.294346",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:22.169881",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:22.361432Z",
                            "start": "2026-09-10T17:43:21.829742Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/tmp/logs/system /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.183:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:23.025045Z",
                            "start": "2026-09-10T17:43:22.369708Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:23.444190Z",
                            "start": "2026-09-10T17:43:23.048876Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000012",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:00.006952",
                            "end": "2026-09-10 17:43:23.761242",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:23.754290",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 3: kubectl: command not found",
                            "stdout_lines": [
                                "/bin/bash: line 3: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:24.013876Z",
                            "start": "2026-09-10T17:43:23.493540Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/tmp/logs/helm /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.183:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:24.563845Z",
                            "start": "2026-09-10T17:43:24.022965Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:24.789788Z",
                            "start": "2026-09-10T17:43:24.580556Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000019",
                        "name": "creating directory for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.027340",
                            "end": "2026-09-10 17:43:25.075074",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:25.047734",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:25.343629Z",
                            "start": "2026-09-10T17:43:24.825410Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:25.553150Z",
                            "start": "2026-09-10T17:43:25.354072Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000001b",
                        "name": "creating directory for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.009672",
                            "end": "2026-09-10 17:43:25.818756",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:25.809084",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "environment: line 5: kubectl: command not found\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                            "stdout_lines": [
                                "environment: line 5: kubectl: command not found",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:26.109079Z",
                            "start": "2026-09-10T17:43:25.596429Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/tmp/logs/objects /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.183:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:26.665040Z",
                            "start": "2026-09-10T17:43:26.115854Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:26.914819Z",
                            "start": "2026-09-10T17:43:26.676990Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:27.153202Z",
                            "start": "2026-09-10T17:43:26.926027Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000022",
                        "name": "creating directory for failed pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:00.008861",
                            "end": "2026-09-10 17:43:27.426111",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:27.417250",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "environment: line 3: kubectl: command not found",
                            "stdout_lines": [
                                "environment: line 3: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:27.713474Z",
                            "start": "2026-09-10T17:43:27.195878Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/tmp/logs/pod-logs /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.183:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:28.252329Z",
                            "start": "2026-09-10T17:43:27.722323Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:28.477296Z",
                            "start": "2026-09-10T17:43:28.270777Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000028",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                            "delta": "0:00:00.049786",
                            "end": "2026-09-10 17:43:28.759420",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:28.709634",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 2: kubectl: command not found",
                            "stdout_lines": [
                                "/bin/bash: line 2: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:29.013945Z",
                            "start": "2026-09-10T17:43:28.499699Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000029",
                        "name": "Get metrics from exporter services in all namespaces"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                            "delta": "0:00:00.054643",
                            "end": "2026-09-10 17:43:29.308288",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:29.253645",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 2: kubectl: command not found\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "/bin/bash: line 2: kubectl: command not found",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:29.557516Z",
                            "start": "2026-09-10T17:43:29.040840Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000002a",
                        "name": "Get ceph metrics from ceph-mgr"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                            "delta": "0:00:00.051239",
                            "end": "2026-09-10 17:43:29.903564",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 17:43:29.852325",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 4: kubectl: command not found",
                            "stdout_lines": [
                                "/bin/bash: line 4: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:30.110988Z",
                            "start": "2026-09-10T17:43:29.598702Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/tmp/logs/prometheus /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.183:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:30.646423Z",
                            "start": "2026-09-10T17:43:30.115911Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:30.867897Z",
                            "start": "2026-09-10T17:43:30.664436Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000030",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                            "delta": "0:00:00.006433",
                            "end": "2026-09-10 17:43:31.132310",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-e937-fabc-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-09-10 17:43:31.125877",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0010-e937-fabc-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:31.417618Z",
                            "start": "2026-09-10T17:43:30.899405Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/tmp/logs/selenium /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.183:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-e937-fabc-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:31.916347Z",
                            "start": "2026-09-10T17:43:31.426372Z"
                        },
                        "id": "0242ac17-0010-e937-fabc-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 23,
            "failures": 0,
            "ignored": 1,
            "ok": 23,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:43:36.232302Z",
                    "start": "2026-09-10T17:43:32.685819Z"
                },
                "id": "0242ac17-0010-8a1f-564b-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8a1f-564b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:32.772992Z",
                            "start": "2026-09-10T17:43:32.706309Z"
                        },
                        "id": "0242ac17-0010-8a1f-564b-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8a1f-564b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:32.840184Z",
                            "start": "2026-09-10T17:43:32.784611Z"
                        },
                        "id": "0242ac17-0010-8a1f-564b-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8a1f-564b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:33.752281Z",
                            "start": "2026-09-10T17:43:32.849186Z"
                        },
                        "id": "0242ac17-0010-8a1f-564b-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.183:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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.183:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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.183:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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.183:/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/9061637c388f45f8bb7348ea0f84289a/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.183:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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.183:/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/9061637c388f45f8bb7348ea0f84289a/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8a1f-564b-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:35.492901Z",
                            "start": "2026-09-10T17:43:33.759879Z"
                        },
                        "id": "0242ac17-0010-8a1f-564b-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/artifacts/* /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007081",
                                    "end": "2026-09-10 17:43:35.937246",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/artifacts/* /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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-10 17:43:35.930165",
                                    "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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/docs/* /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.008527",
                                    "end": "2026-09-10 17:43:36.187563",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/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/9061637c388f45f8bb7348ea0f84289a/work/docs/* /var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/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-10 17:43:36.179036",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8a1f-564b-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:36.232302Z",
                            "start": "2026-09-10T17:43:35.512119Z"
                        },
                        "id": "0242ac17-0010-8a1f-564b-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T17:43:36.722854Z",
                    "start": "2026-09-10T17:43:36.244285Z"
                },
                "id": "0242ac17-0010-8a1f-564b-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6SiHjK/ACGnIxV2Yqx9ACw9izN01tcM+S2jTOoCmPuK5RMMC5FR9NCnjUPLeOvff64O1MdBIW/hzv9qzvd715f6MsOjvLoTg3UpO8C5mLkuwAX35OodK7S0TYDZPDJ5/gJBrtdIVpC97uLCQPhWPaBsolLpVFN0ooJYt1Kwtb5bx0szBfP2VP6zFoN7JlvlwRKP+IBvU3eEOohPdn6FWx4NS3DGp/7DqPzKd3x7K2Kryo9S4U/rEQE/ckhf0olsgJ/T54HBjJDRMKWNqJcI/QQI1FgVupv2vXq6Ju9b9ZGeu+UgYMsoEH5fAFl7X4zirKIx6+oxQQB5CA7NIkptT7dCpgm3m4I70ddgBQYClyKQUBAcvM6A31PDofGZIl3lCxXv0qmvAMJbWCt1CqHPUoEgOJc8hoQ7oFpK0vOYOxHE+Y49VTBHoIYmlDdAJFFy2wVwccumg7UbZ2irk5vTKVHA270lQs/vonQ8N1iiFZbrBfoJshg5DASykqCCmYkvc= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC6SiHjK/ACGnIxV2Yqx9ACw9izN01tcM+S2jTOoCmPuK5RMMC5FR9NCnjUPLeOvff64O1MdBIW/hzv9qzvd715f6MsOjvLoTg3UpO8C5mLkuwAX35OodK7S0TYDZPDJ5/gJBrtdIVpC97uLCQPhWPaBsolLpVFN0ooJYt1Kwtb5bx0szBfP2VP6zFoN7JlvlwRKP+IBvU3eEOohPdn6FWx4NS3DGp/7DqPzKd3x7K2Kryo9S4U/rEQE/ckhf0olsgJ/T54HBjJDRMKWNqJcI/QQI1FgVupv2vXq6Ju9b9ZGeu+UgYMsoEH5fAFl7X4zirKIx6+oxQQB5CA7NIkptT7dCpgm3m4I70ddgBQYClyKQUBAcvM6A31PDofGZIl3lCxXv0qmvAMJbWCt1CqHPUoEgOJc8hoQ7oFpK0vOYOxHE+Y49VTBHoIYmlDdAJFFy2wVwccumg7UbZ2irk5vTKVHA270lQs/vonQ8N1iiFZbrBfoJshg5DASykqCCmYkvc= 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-8a1f-564b-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/9061637c388f45f8bb7348ea0f84289a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T17:43:36.722854Z",
                            "start": "2026-09-10T17:43:36.255127Z"
                        },
                        "id": "0242ac17-0010-8a1f-564b-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
