[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T13:31:07.272772Z",
                    "start": "2026-09-17T13:31:03.701549Z"
                },
                "id": "0242ac17-0010-29eb-5094-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_date_time": {
                                    "date": "2026-09-17",
                                    "day": "17",
                                    "epoch": "1789651864",
                                    "epoch_int": "1789651864",
                                    "hour": "13",
                                    "iso8601": "2026-09-17T13:31:04Z",
                                    "iso8601_basic": "20260917T133104259832",
                                    "iso8601_basic_short": "20260917T133104",
                                    "iso8601_micro": "2026-09-17T13:31:04.259832Z",
                                    "minute": "31",
                                    "month": "09",
                                    "second": "04",
                                    "time": "13:31:04",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "37",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.11"
                                    ],
                                    "options": {
                                        "edns0": true,
                                        "ndots": "0",
                                        "trust-ad": true
                                    },
                                    "search": [
                                        "openstacklocal"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 0,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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": "3198206",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-HLsRy2Upz7PG/agent.3198205",
                                    "TMP": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "2d72f0692154",
                                "ansible_hostname": "2d72f0692154",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 3.2021484375,
                                    "1m": 3.87939453125,
                                    "5m": 3.349609375
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 3706,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 12312,
                                        "used": 19778
                                    },
                                    "real": {
                                        "free": 3706,
                                        "total": 32090,
                                        "used": 28384
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 7977640,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623940,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676413440,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977640,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623940,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676413440,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977639,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623941,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676409344,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977635,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623945,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676392960,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977635,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623945,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676392960,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977628,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623952,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676364288,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977624,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623956,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676347904,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977623,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623957,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676343808,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977620,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623960,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676331520,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977617,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623963,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676319232,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 46415158,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 217525559,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 28953728,
                                        "inode_total": 67108864,
                                        "inode_used": 38155136,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 190116487168,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7977612,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32623968,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16526204,
                                        "inode_total": 20643840,
                                        "inode_used": 4117636,
                                        "mount": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 32676298752,
                                        "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": 53315316,
                                "ansible_user_dir": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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-17T13:31:05.581579Z",
                            "start": "2026-09-17T13:31:03.709005Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:05.611755Z",
                            "start": "2026-09-17T13:31:05.589392Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "c7c/oss/c7c9f3e45e2544e7b8704db2ed1ba7ca"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:05.670039Z",
                            "start": "2026-09-17T13:31:05.627368Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-csi-rbd\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere/pull/4374\nEvent ID: 4d7515f0-b29b-11f1-9159-7ddf3286e7bb\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:05.734569Z",
                            "start": "2026-09-17T13:31:05.681340Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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: np0000193004\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.19\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:05.853204Z",
                            "start": "2026-09-17T13:31:05.739953Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:06.310784Z",
                            "start": "2026-09-17T13:31:05.875610Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "08572ff34f62cbec9be91915b266e9e6925d9d28",
                            "dest": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "08572ff34f62cbec9be91915b266e9e6925d9d28",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/.ansible/tmp/ansible-tmp-1789651866.3512697-84-197500460846471/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "eca84ff232cac662c255e234c2d5ccc3",
                            "mode": "0644",
                            "owner": "root",
                            "size": 33625,
                            "src": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/.ansible/tmp/ansible-tmp-1789651866.3512697-84-197500460846471/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:07.272772Z",
                            "start": "2026-09-17T13:31:06.325638Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T13:31:17.064100Z",
                    "start": "2026-09-17T13:31:07.284456Z"
                },
                "id": "0242ac17-0010-29eb-5094-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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:07.543812Z",
                            "start": "2026-09-17T13:31:07.295019Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:07.578318Z",
                            "start": "2026-09-17T13:31:07.549524Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.182076",
                            "end": "2026-09-17 13:31:09.184605",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_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-29eb-5094-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:31:08.002529",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa.pub\nThe key fingerprint is:\nSHA256:dU6aKj42D7SIE/zm5GwyoTdpcHu3Mfe9ySQa73yqR4A zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|                 |\n|                 |\n|       .  . o    |\n| .    E .. *     |\n|  o   . S.o .    |\n|. o+ o . ..      |\n| +o+= * +.. .    |\n|. OBo.=* *.=..   |\n| o *+oo=++*o=.   |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:dU6aKj42D7SIE/zm5GwyoTdpcHu3Mfe9ySQa73yqR4A zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|                 |",
                                "|                 |",
                                "|       .  . o    |",
                                "| .    E .. *     |",
                                "|  o   . S.o .    |",
                                "|. o+ o . ..      |",
                                "| +o+= * +.. .    |",
                                "|. OBo.=* *.=..   |",
                                "| o *+oo=++*o=.   |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-29eb-5094-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:09.237942Z",
                            "start": "2026-09-17T13:31:07.595702Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:09.278835Z",
                            "start": "2026-09-17T13:31:09.246815Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:09.326138Z",
                            "start": "2026-09-17T13:31:09.301393Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuRB2L9vWv4PtcWLecJJWM/JeZDovBJxyxa/k0XmZoRWwjDxec3SlNAdJsUPMPHJl7CnM+zkJEQQ08LjKuckTeFGDx8KZecZomOOqDmFjGapKxtloxCvWZLagC0Sc6CvZLtRjUYfYS9tsteiA7W+xA4GEM4Z/PfzyvAhw0BhuIyuKV4nskYD6c8qshi567rscC04nX1ljawxB9Q2BmPIJEIPlmKuxlrL1Nm9ft9O2ngvprJHobsVTZFyYD3+nys/Q2EzicUX9xOaDC4uFZXK47Ez1ZtuLZCiBe2UXdQOI6K0i6g18hRrXuW2N9bZIEEdNXyc8iVnFePxAe4ER4nVjytIbJT/RJHfiyvTndPO773APekkXT1ddoQPP56b4Sb7hOGKmD1ePJK8sRX97jKyKnFAorxatgDy+iQhN7lMoQzrDDTlNbTxJEzx5Rolp5LRkkoNn9I/FY9xgBohvXtAZzpg4zYrQqtWn7knIc9CYwC1I/3OnDNmKGM8DTkKQTWs= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuRB2L9vWv4PtcWLecJJWM/JeZDovBJxyxa/k0XmZoRWwjDxec3SlNAdJsUPMPHJl7CnM+zkJEQQ08LjKuckTeFGDx8KZecZomOOqDmFjGapKxtloxCvWZLagC0Sc6CvZLtRjUYfYS9tsteiA7W+xA4GEM4Z/PfzyvAhw0BhuIyuKV4nskYD6c8qshi567rscC04nX1ljawxB9Q2BmPIJEIPlmKuxlrL1Nm9ft9O2ngvprJHobsVTZFyYD3+nys/Q2EzicUX9xOaDC4uFZXK47Ez1ZtuLZCiBe2UXdQOI6K0i6g18hRrXuW2N9bZIEEdNXyc8iVnFePxAe4ER4nVjytIbJT/RJHfiyvTndPO773APekkXT1ddoQPP56b4Sb7hOGKmD1ePJK8sRX97jKyKnFAorxatgDy+iQhN7lMoQzrDDTlNbTxJEzx5Rolp5LRkkoNn9I/FY9xgBohvXtAZzpg4zYrQqtWn7knIc9CYwC1I/3OnDNmKGM8DTkKQTWs= 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-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:09.782345Z",
                            "start": "2026-09-17T13:31:09.333247Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:09.979661Z",
                            "start": "2026-09-17T13:31:09.793326Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "ccbde9f7c6719f8d75fe69546ff2833de052a55d",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "ccbde9f7c6719f8d75fe69546ff2833de052a55d",
                                    "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-1789651870.037823-190-112202302350011/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8d281607113513ecad875236bb6e5345",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789651870.037823-190-112202302350011/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:10.494558Z",
                            "start": "2026-09-17T13:31:09.988237Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "c722dcf0ab4b945a91268eeba90d7463b9fff220",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "c722dcf0ab4b945a91268eeba90d7463b9fff220",
                                    "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-1789651870.5455935-200-146930837075639/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "e099bdb04ea02a89062dc9bd10e68072",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789651870.5455935-200-146930837075639/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:10.971601Z",
                            "start": "2026-09-17T13:31:10.498488Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:11.008640Z",
                            "start": "2026-09-17T13:31:10.982828Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:11.398937Z",
                            "start": "2026-09-17T13:31:11.018997Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa"
                            ],
                            "delta": "0:00:00.014830",
                            "end": "2026-09-17 13:31:11.677079",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_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-29eb-5094-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:31:11.662249",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/c7c9f3e45e2544e7b8704db2ed1ba7ca_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-29eb-5094-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:11.711644Z",
                            "start": "2026-09-17T13:31:11.417811Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:12.055500Z",
                            "start": "2026-09-17T13:31:11.715945Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:12.100355Z",
                            "start": "2026-09-17T13:31:12.064381Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:12.468435Z",
                            "start": "2026-09-17T13:31:12.120118Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:15.967570Z",
                            "start": "2026-09-17T13:31:12.479117Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:16.538156Z",
                            "start": "2026-09-17T13:31:15.975475Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-29eb-5094-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:17.064100Z",
                            "start": "2026-09-17T13:31:16.549340Z"
                        },
                        "id": "0242ac17-0010-29eb-5094-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-17T13:31:30.475387Z",
                    "start": "2026-09-17T13:31:17.826878Z"
                },
                "id": "0242ac17-0010-3d7b-028c-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-1789651877.883091-5-275147244135647/uv-x86_64-unknown-linux-gnu40t87jds.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-1789651877.883091-5-275147244135647/uv-x86_64-unknown-linux-gnu40t87jds.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-3d7b-028c-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:20.247781Z",
                            "start": "2026-09-17T13:31:17.836247Z"
                        },
                        "id": "0242ac17-0010-3d7b-028c-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.014020",
                            "end": "2026-09-17 13:31:20.629059",
                            "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-3d7b-028c-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:31:20.615039",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-3d7b-028c-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-3d7b-028c-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:20.789739Z",
                            "start": "2026-09-17T13:31:20.272328Z"
                        },
                        "id": "0242ac17-0010-3d7b-028c-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": false,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "tag": "v6.1.1"
                                },
                                {
                                    "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.1",
                                    "version": "6.1.1"
                                },
                                {
                                    "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": "4374",
                                            "change_message": "fix: use distro Python packages on newer Ubuntu and Debian\n\nOn Ubuntu 24.04, the deployment roles try to install OpenStackSDK and PyMySQL into the externally managed system Python with pip. Use the distribution packages on Ubuntu newer than 22 and Debian newer than 12, following the Kubernetes collection and the SDK approach in Atmosphere #3297 / atmosphere.common#114. Keep the existing pip path, version selection, and retries elsewhere.\n\nThis change targets `main`; backports can follow after merge. It changes the two role install blocks, documents that `openstacksdk_version` only controls pip installs, and adds a release note. It does not require the Common role migration or the pip overlay in #4139.\n\nValidation:\n- Ansible Core 2.18.6 condition evaluation: 10 OS/version cases for each role; exactly one install path selected in every case. Existing pip retries and default/explicit SDK version selection verified.\n- Extracted installation tasks: Ansible syntax check and ansible-lint 25.6.1 passed.\n- Repository whitespace/EOF/line-ending hooks and `git diff --check` passed.\n- Full repository Ansible-lint did not complete: its `ansible-galaxy` dependency preparation stalled locally. CI still needs to run.\n- No live Noble deployment or rolling upgrade has been run. Confirm distro SDK compatibility and rerun behavior on a representative host, including any pre-existing pip overlays.\n\nPip audit of both stable/2024.2 and main:\n- Replaced: the OpenStackSDK and Keycloak PyMySQL deployment installs.\n- Retained: Earthfile and main's deployment instructions install into explicit virtualenvs.\n- Retained: `terminate_project.yml` requires a specific ospurge Git revision; replacing it with a distro package would not preserve the dependency. Its Noble packaging needs a separate isolated-install follow-up.\n- Retained: optional `keystoneauth-websso` CLI plugin instructions; no matching Noble package was found.\n- Identified separately: Molecule's legacy `pip freeze` / uninstall-all cleanup is not an installation and should be reviewed before using that scenario on Noble.\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4374",
                                            "commit_id": "d09d22c920901c6c4c4d584d29270220276bceb3",
                                            "patchset": "d09d22c920901c6c4c4d584d29270220276bceb3",
                                            "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": "4374",
                                            "change_message": "fix: use distro Python packages on newer Ubuntu and Debian\n\nOn Ubuntu 24.04, the deployment roles try to install OpenStackSDK and PyMySQL into the externally managed system Python with pip. Use the distribution packages on Ubuntu newer than 22 and Debian newer than 12, following the Kubernetes collection and the SDK approach in Atmosphere #3297 / atmosphere.common#114. Keep the existing pip path, version selection, and retries elsewhere.\n\nThis change targets `main`; backports can follow after merge. It changes the two role install blocks, documents that `openstacksdk_version` only controls pip installs, and adds a release note. It does not require the Common role migration or the pip overlay in #4139.\n\nValidation:\n- Ansible Core 2.18.6 condition evaluation: 10 OS/version cases for each role; exactly one install path selected in every case. Existing pip retries and default/explicit SDK version selection verified.\n- Extracted installation tasks: Ansible syntax check and ansible-lint 25.6.1 passed.\n- Repository whitespace/EOF/line-ending hooks and `git diff --check` passed.\n- Full repository Ansible-lint did not complete: its `ansible-galaxy` dependency preparation stalled locally. CI still needs to run.\n- No live Noble deployment or rolling upgrade has been run. Confirm distro SDK compatibility and rerun behavior on a representative host, including any pre-existing pip overlays.\n\nPip audit of both stable/2024.2 and main:\n- Replaced: the OpenStackSDK and Keycloak PyMySQL deployment installs.\n- Retained: Earthfile and main's deployment instructions install into explicit virtualenvs.\n- Retained: `terminate_project.yml` requires a specific ospurge Git revision; replacing it with a distro package would not preserve the dependency. Its Noble packaging needs a separate isolated-install follow-up.\n- Retained: optional `keystoneauth-websso` CLI plugin instructions; no matching Noble package was found.\n- Identified separately: Molecule's legacy `pip freeze` / uninstall-all cleanup is not an installation and should be reviewed before using that scenario on Noble.\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4374",
                                            "commit_id": "d09d22c920901c6c4c4d584d29270220276bceb3",
                                            "patchset": "d09d22c920901c6c4c4d584d29270220276bceb3",
                                            "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": "e15c19a707a8e490d5f61bb8a445cd044c321c70",
                                            "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": "d5699a3fcfca765b32f94b68a592139dc58d0301",
                                            "name": "ansible-collections/ansible.posix",
                                            "required": true,
                                            "short_name": "ansible.posix",
                                            "src_dir": "src/github.com/ansible-collections/ansible.posix"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.utils",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "1f3e1bdfe2ba8904d397222dd6f90911d6f2402b",
                                            "name": "ansible-collections/ansible.utils",
                                            "required": true,
                                            "short_name": "ansible.utils",
                                            "src_dir": "src/github.com/ansible-collections/ansible.utils"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.crypto",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "1a443720b7cf3f0354967906ade7292ccdfbbe60",
                                            "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": "010f76c648a0695ec6a6a484a48488bf503bb29c",
                                            "name": "ansible-collections/community.general",
                                            "required": true,
                                            "short_name": "community.general",
                                            "src_dir": "src/github.com/ansible-collections/community.general"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.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": "10584acdbb5415ce48bb3329416519094cf6ed40",
                                            "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": "d09d22c920901c6c4c4d584d29270220276bceb3",
                                            "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": "6fccec65bc32b6c39776c612705bd482691d9b3f",
                                            "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.1 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.1 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 rjsonnet (1.2MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading netaddr (2.2MiB)",
                                " Downloading rjsonnet",
                                "   Building pyperclip==1.9.0",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading cryptography",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 54ms",
                                "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.1",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.utils",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.utils:6.1.1' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "Created collection for ansible.utils:6.1.1 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils",
                                "ansible.utils:6.1.1 was installed successfully",
                                "[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.1 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.1 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 rjsonnet (1.2MiB)\nDownloading pygments (1.2MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading kubernetes (1.9MiB)\nDownloading cryptography (4.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading setuptools (1.1MiB)\nDownloading ansible-core (2.1MiB)\nDownloading netaddr (2.2MiB)\n Downloading rjsonnet\n   Building pyperclip==1.9.0\n Downloading pydantic-core\n Downloading netaddr\n Downloading pygments\n Downloading cryptography\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 54ms\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.1\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.utils\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.utils:6.1.1' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nCreated collection for ansible.utils:6.1.1 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils\nansible.utils:6.1.1 was installed successfully\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-17T13:31:30.475387Z",
                            "start": "2026-09-17T13:31:20.808819Z"
                        },
                        "id": "0242ac17-0010-3d7b-028c-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-17T13:31:41.277789Z",
                    "start": "2026-09-17T13:31:31.141074Z"
                },
                "id": "0242ac17-0010-1122-6fc2-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1789651895,
                            "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 1 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 (387 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 1 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 (387 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-17T13:31:41.277789Z",
                            "start": "2026-09-17T13:31:31.151697Z"
                        },
                        "id": "0242ac17-0010-1122-6fc2-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-17T13:35:37.839486Z",
                    "start": "2026-09-17T13:31:41.938952Z"
                },
                "id": "0242ac17-0010-27c6-bf3e-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": 1789651882.7804794,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1789651881.6924777,
                                        "dev": 64513,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1048936,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1789651881.6924777,
                                        "nlink": 23,
                                        "path": "src/github.com/vexxhost/atmosphere",
                                        "pw_name": "zuul",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 4096,
                                        "uid": 1000,
                                        "version": "2858025191",
                                        "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/csi/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere/molecule/csi/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/csi/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/csi/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:42.693002Z",
                            "start": "2026-09-17T13:31:41.949086Z"
                        },
                        "id": "0242ac17-0010-27c6-bf3e-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": "08572ff34f62cbec9be91915b266e9e6925d9d28",
                                    "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": "08572ff34f62cbec9be91915b266e9e6925d9d28",
                                            "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-1789651902.7830143-9-191522209849396/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": 1789651882.7804794,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1789651881.6924777,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1048936,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1789651881.6924777,
                                            "nlink": 23,
                                            "path": "src/github.com/vexxhost/atmosphere",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2858025191",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "eca84ff232cac662c255e234c2d5ccc3",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 33625,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789651902.7830143-9-191522209849396/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/csi/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/molecule/csi/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/csi/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/csi/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:43.580034Z",
                            "start": "2026-09-17T13:31:42.699085Z"
                        },
                        "id": "0242ac17-0010-27c6-bf3e-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": 1789651882.7804794,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1789651881.6924777,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1048936,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1789651881.6924777,
                                            "nlink": 23,
                                            "path": "src/github.com/vexxhost/atmosphere",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2858025191",
                                            "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/csi/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/molecule/csi/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/csi/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/csi/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:31:43.976452Z",
                            "start": "2026-09-17T13:31:43.590102Z"
                        },
                        "id": "0242ac17-0010-27c6-bf3e-000000000006",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "csi"
                            ],
                            "delta": "0:03:53.059533",
                            "end": "2026-09-17 13:35:37.457697",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s csi",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-27c6-bf3e-000000000007-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-09-17 13:31:44.398164",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "WARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [csi > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [csi > prerun] Performing prerun with role_name_check=0...\nINFO     [csi > dependency] Executing\nWARNING  [csi > dependency] Missing roles requirements file: requirements.yml\nWARNING  [csi > dependency] Missing collections requirements file: collections.yml\nWARNING  [csi > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [csi > cleanup] Executing\nWARNING  [csi > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [csi > destroy] Executing\nWARNING  [csi > destroy] Skipping, '--destroy=never' requested.\nINFO     [csi > destroy] Executed: Successful\nINFO     [csi > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml\nINFO     [csi > syntax] Executed: Successful\nINFO     [csi > create] Executing\nWARNING  [csi > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [csi > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  13:31:59 +0000 (0:00:00.023)       0:00:00.023 ****\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 17 September 2026  13:32:00 +0000 (0:00:01.227)       0:00:01.251 ****\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nThursday 17 September 2026  13:32:01 +0000 (0:00:00.720)       0:00:01.971 ****\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created\nwith a mode of 0700, this may cause issues when running as another user. To\navoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nThursday 17 September 2026  13:32:01 +0000 (0:00:00.300)       0:00:02.272 ****\nok: [instance]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  13:32:02 +0000 (0:00:00.797)       0:00:03.069 ****\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nThursday 17 September 2026  13:32:02 +0000 (0:00:00.699)       0:00:03.769 ****\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nThursday 17 September 2026  13:32:26 +0000 (0:00:23.429)       0:00:27.198 ****\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nThursday 17 September 2026  13:32:26 +0000 (0:00:00.534)       0:00:27.733 ****\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nThursday 17 September 2026  13:32:27 +0000 (0:00:00.333)       0:00:28.066 ****\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nThursday 17 September 2026  13:32:27 +0000 (0:00:00.701)       0:00:28.768 ****\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nThursday 17 September 2026  13:32:28 +0000 (0:00:00.216)       0:00:28.984 ****\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nThursday 17 September 2026  13:32:28 +0000 (0:00:00.027)       0:00:29.012 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nThursday 17 September 2026  13:32:28 +0000 (0:00:00.619)       0:00:29.631 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nThursday 17 September 2026  13:32:29 +0000 (0:00:00.679)       0:00:30.311 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nThursday 17 September 2026  13:32:30 +0000 (0:00:00.715)       0:00:31.026 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nThursday 17 September 2026  13:32:33 +0000 (0:00:03.494)       0:00:34.521 ****\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=15   changed=9    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nThursday 17 September 2026  13:32:35 +0000 (0:00:01.863)       0:00:36.384 ****\n===============================================================================\nInstall depedencies ---------------------------------------------------- 23.43s\nCreate a volume group for each loop device ------------------------------ 3.49s\nCreate a logical volume for each loop device ---------------------------- 1.86s\nGathering Facts --------------------------------------------------------- 1.23s\nPurge \"snapd\" package --------------------------------------------------- 0.80s\nConfigure short hostname ------------------------------------------------ 0.72s\nStart loop devices ------------------------------------------------------ 0.72s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.70s\nGathering Facts --------------------------------------------------------- 0.70s\nSet permissions on loopback devices ------------------------------------- 0.68s\nCreate devices for Ceph ------------------------------------------------- 0.62s\nStart up service -------------------------------------------------------- 0.53s\nGenerate lvm.conf ------------------------------------------------------- 0.33s\nEnsure hostname inside hosts file --------------------------------------- 0.30s\nGet list of all loopback devices ---------------------------------------- 0.22s\nFail if there is any existing loopback devices -------------------------- 0.03s\nINFO     [csi > prepare] Executed: Successful\nINFO     [csi > converge] Executing\n\nPLAY [Debug CSI driver value] **************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  13:32:37 +0000 (0:00:00.007)       0:00:00.007 ****\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Display CSI driver value and environment variable] ***********************\nThursday 17 September 2026  13:32:38 +0000 (0:00:00.983)       0:00:00.990 ****\nok: [instance] => {\n    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"\n}\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  13:32:38 +0000 (0:00:00.065)       0:00:01.056 ****\nok: [instance]\n\nTASK [Fail if atmosphere_ceph_enabled is set] **********************************\nThursday 17 September 2026  13:32:39 +0000 (0:00:00.987)       0:00:02.044 ****\nskipping: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nThursday 17 September 2026  13:32:39 +0000 (0:00:00.049)       0:00:02.094 ****\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 17 September 2026  13:32:39 +0000 (0:00:00.221)       0:00:02.316 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  13:32:40 +0000 (0:00:00.943)       0:00:03.259 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  13:32:40 +0000 (0:00:00.327)       0:00:03.587 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 17 September 2026  13:32:40 +0000 (0:00:00.054)       0:00:03.641 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  13:32:41 +0000 (0:00:00.350)       0:00:03.991 ****\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 17 September 2026  13:32:41 +0000 (0:00:00.089)       0:00:04.081 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  13:32:41 +0000 (0:00:00.739)       0:00:04.821 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  13:32:41 +0000 (0:00:00.069)       0:00:04.890 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  13:32:41 +0000 (0:00:00.058)       0:00:04.949 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 17 September 2026  13:32:42 +0000 (0:00:00.246)       0:00:05.195 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  13:32:43 +0000 (0:00:01.413)       0:00:06.608 ****\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 17 September 2026  13:32:43 +0000 (0:00:00.086)       0:00:06.695 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  13:32:44 +0000 (0:00:00.822)       0:00:07.517 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 17 September 2026  13:32:47 +0000 (0:00:02.946)       0:00:10.463 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 17 September 2026  13:32:47 +0000 (0:00:00.043)       0:00:10.507 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 17 September 2026  13:32:47 +0000 (0:00:00.045)       0:00:10.553 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 17 September 2026  13:32:47 +0000 (0:00:00.037)       0:00:10.590 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 17 September 2026  13:32:53 +0000 (0:00:06.179)       0:00:16.770 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 17 September 2026  13:32:54 +0000 (0:00:00.655)       0:00:17.425 ****\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 17 September 2026  13:32:55 +0000 (0:00:00.960)       0:00:18.386 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 17 September 2026  13:32:55 +0000 (0:00:00.532)       0:00:18.919 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nThursday 17 September 2026  13:32:55 +0000 (0:00:00.026)       0:00:18.945 ****\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nThursday 17 September 2026  13:32:56 +0000 (0:00:00.981)       0:00:19.927 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 17 September 2026  13:32:57 +0000 (0:00:00.522)       0:00:20.450 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 17 September 2026  13:32:58 +0000 (0:00:00.596)       0:00:21.046 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 17 September 2026  13:32:58 +0000 (0:00:00.239)       0:00:21.286 ****\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 17 September 2026  13:32:58 +0000 (0:00:00.050)       0:00:21.336 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 17 September 2026  13:32:59 +0000 (0:00:00.868)       0:00:22.205 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nThursday 17 September 2026  13:33:03 +0000 (0:00:04.372)       0:00:26.578 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nThursday 17 September 2026  13:33:04 +0000 (0:00:01.134)       0:00:27.713 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nThursday 17 September 2026  13:33:05 +0000 (0:00:00.377)       0:00:28.090 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nThursday 17 September 2026  13:33:05 +0000 (0:00:00.477)       0:00:28.568 ****\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 17 September 2026  13:33:06 +0000 (0:00:00.543)       0:00:29.111 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nThursday 17 September 2026  13:33:06 +0000 (0:00:00.459)       0:00:29.571 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nThursday 17 September 2026  13:33:07 +0000 (0:00:00.463)       0:00:30.034 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nThursday 17 September 2026  13:33:07 +0000 (0:00:00.029)       0:00:30.064 ****\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nThursday 17 September 2026  13:33:07 +0000 (0:00:00.771)       0:00:30.836 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nThursday 17 September 2026  13:33:08 +0000 (0:00:00.911)       0:00:31.747 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nThursday 17 September 2026  13:33:09 +0000 (0:00:00.615)       0:00:32.363 ****\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 17 September 2026  13:33:09 +0000 (0:00:00.058)       0:00:32.421 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nThursday 17 September 2026  13:33:14 +0000 (0:00:04.988)       0:00:37.409 ****\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nThursday 17 September 2026  13:33:15 +0000 (0:00:00.620)       0:00:38.029 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nThursday 17 September 2026  13:33:15 +0000 (0:00:00.747)       0:00:38.777 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nThursday 17 September 2026  13:33:16 +0000 (0:00:00.226)       0:00:39.003 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nThursday 17 September 2026  13:33:16 +0000 (0:00:00.426)       0:00:39.430 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nThursday 17 September 2026  13:33:16 +0000 (0:00:00.347)       0:00:39.777 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nThursday 17 September 2026  13:33:16 +0000 (0:00:00.122)       0:00:39.899 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nThursday 17 September 2026  13:33:17 +0000 (0:00:00.259)       0:00:40.159 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nThursday 17 September 2026  13:33:17 +0000 (0:00:00.074)       0:00:40.233 ****\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 17 September 2026  13:33:17 +0000 (0:00:00.083)       0:00:40.317 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nThursday 17 September 2026  13:33:17 +0000 (0:00:00.350)       0:00:40.668 ****\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 17 September 2026  13:33:18 +0000 (0:00:00.795)       0:00:41.463 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nThursday 17 September 2026  13:34:45 +0000 (0:01:27.097)       0:02:08.561 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nThursday 17 September 2026  13:34:45 +0000 (0:00:00.217)       0:02:08.778 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nThursday 17 September 2026  13:34:45 +0000 (0:00:00.038)       0:02:08.817 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nThursday 17 September 2026  13:34:45 +0000 (0:00:00.100)       0:02:08.918 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nThursday 17 September 2026  13:34:47 +0000 (0:00:01.723)       0:02:10.641 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nThursday 17 September 2026  13:34:47 +0000 (0:00:00.047)       0:02:10.689 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nThursday 17 September 2026  13:34:48 +0000 (0:00:00.365)       0:02:11.055 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nThursday 17 September 2026  13:34:50 +0000 (0:00:02.302)       0:02:13.357 ****\nAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: [errno 5] RADOS I/O error (error connecting to the cluster)\nfatal: [instance]: FAILED! => {\"changed\": false, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"<stdin>\\\", line 107, in <module>\\n  File \\\"<stdin>\\\", line 99, in _ansiballz_main\\n  File \\\"<stdin>\\\", line 47, in invoke_module\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 224, in run_module\\n    return _run_module_code(code, init_globals, run_name, mod_spec)\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 96, in _run_module_code\\n    _run_code(code, mod_globals, init_globals,\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 86, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 202, in <module>\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 198, in main\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 177, in run_module\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 120, in apply_spec\\nRuntimeError: Inferring config /var/lib/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4/mon.instance/config\\n2026-09-17T13:35:37.099+0000 7fa0a43aa640 -1 auth: error parsing file /etc/ceph/ceph.keyring: error setting modifier for [client.admin] type=key val=AgBQ7KtqxESFBiAAij5HAHEAgZcBziV9HWz7IjB8Aax3XPA3ikl55Lyo9qs=: Malformed input [buffer:3]\\n2026-09-17T13:35:37.099+0000 7fa0a43aa640 -1 auth: failed to load /etc/ceph/ceph.keyring: (5) Input/output error\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: error parsing file /etc/ceph/ceph.keyring: error setting modifier for [client.admin] type=key val=AgBQ7KtqxESFBiAAij5HAHEAgZcBziV9HWz7IjB8Aax3XPA3ikl55Lyo9qs=: Malformed input [buffer:3]\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: failed to load /etc/ceph/ceph.keyring: (5) Input/output error\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: error parsing file /etc/ceph/ceph.keyring: error setting modifier for [client.admin] type=key val=AgBQ7KtqxESFBiAAij5HAHEAgZcBziV9HWz7IjB8Aax3XPA3ikl55Lyo9qs=: Malformed input [buffer:3]\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: failed to load /etc/ceph/ceph.keyring: (5) Input/output error\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 monclient: keyring not found\\n[errno 5] RADOS I/O error (error connecting to the cluster)\\n\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=55   changed=26   unreachable=0    failed=1    skipped=7    rescued=0    ignored=0\n\nThursday 17 September 2026  13:35:37 +0000 (0:00:46.900)       0:03:00.258 ****\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap command ------------------------------ 87.10s\nvexxhost.ceph.mon : Configure \"mon\" label for monitors ----------------- 46.90s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 6.18s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 4.99s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.37s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.95s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.30s\nvexxhost.containers.containerd : Reload systemd ------------------------- 1.75s\nvexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 1.72s\nvexxhost.containers.package : Update state for tar ---------------------- 1.41s\nvexxhost.containers.docker : Install AppArmor packages ------------------ 1.13s\nGathering Facts --------------------------------------------------------- 0.99s\nGathering Facts --------------------------------------------------------- 0.98s\nvexxhost.containers.containerd : Create folders for configuration ------- 0.96s\nGathering Facts --------------------------------------------------------- 0.94s\nvexxhost.containers.docker : Restart docker ----------------------------- 0.91s\nvexxhost.containers.download_artifact : Download item ------------------- 0.87s\nvexxhost.containers.download_artifact : Download item ------------------- 0.82s\nvexxhost.ceph.mon : Include extra configuration values ------------------ 0.80s\nvexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 0.75s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml\nERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                            "stdout_lines": [
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [csi > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [csi > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [csi > dependency] Executing",
                                "WARNING  [csi > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [csi > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [csi > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [csi > cleanup] Executing",
                                "WARNING  [csi > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [csi > destroy] Executing",
                                "WARNING  [csi > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [csi > destroy] Executed: Successful",
                                "INFO     [csi > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "INFO     [csi > syntax] Executed: Successful",
                                "INFO     [csi > create] Executing",
                                "WARNING  [csi > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [csi > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  13:31:59 +0000 (0:00:00.023)       0:00:00.023 ****",
                                "[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 17 September 2026  13:32:00 +0000 (0:00:01.227)       0:00:01.251 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Thursday 17 September 2026  13:32:01 +0000 (0:00:00.720)       0:00:01.971 ****",
                                "[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created",
                                "with a mode of 0700, this may cause issues when running as another user. To",
                                "avoid this, create the remote_tmp dir with the correct permissions manually",
                                "changed: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Thursday 17 September 2026  13:32:01 +0000 (0:00:00.300)       0:00:02.272 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  13:32:02 +0000 (0:00:00.797)       0:00:03.069 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Thursday 17 September 2026  13:32:02 +0000 (0:00:00.699)       0:00:03.769 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Thursday 17 September 2026  13:32:26 +0000 (0:00:23.429)       0:00:27.198 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Thursday 17 September 2026  13:32:26 +0000 (0:00:00.534)       0:00:27.733 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Thursday 17 September 2026  13:32:27 +0000 (0:00:00.333)       0:00:28.066 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Thursday 17 September 2026  13:32:27 +0000 (0:00:00.701)       0:00:28.768 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Thursday 17 September 2026  13:32:28 +0000 (0:00:00.216)       0:00:28.984 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Thursday 17 September 2026  13:32:28 +0000 (0:00:00.027)       0:00:29.012 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Thursday 17 September 2026  13:32:28 +0000 (0:00:00.619)       0:00:29.631 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Thursday 17 September 2026  13:32:29 +0000 (0:00:00.679)       0:00:30.311 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Thursday 17 September 2026  13:32:30 +0000 (0:00:00.715)       0:00:31.026 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Thursday 17 September 2026  13:32:33 +0000 (0:00:03.494)       0:00:34.521 ****",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=15   changed=9    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Thursday 17 September 2026  13:32:35 +0000 (0:00:01.863)       0:00:36.384 ****",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 23.43s",
                                "Create a volume group for each loop device ------------------------------ 3.49s",
                                "Create a logical volume for each loop device ---------------------------- 1.86s",
                                "Gathering Facts --------------------------------------------------------- 1.23s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.80s",
                                "Configure short hostname ------------------------------------------------ 0.72s",
                                "Start loop devices ------------------------------------------------------ 0.72s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.70s",
                                "Gathering Facts --------------------------------------------------------- 0.70s",
                                "Set permissions on loopback devices ------------------------------------- 0.68s",
                                "Create devices for Ceph ------------------------------------------------- 0.62s",
                                "Start up service -------------------------------------------------------- 0.53s",
                                "Generate lvm.conf ------------------------------------------------------- 0.33s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.30s",
                                "Get list of all loopback devices ---------------------------------------- 0.22s",
                                "Fail if there is any existing loopback devices -------------------------- 0.03s",
                                "INFO     [csi > prepare] Executed: Successful",
                                "INFO     [csi > converge] Executing",
                                "",
                                "PLAY [Debug CSI driver value] **************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  13:32:37 +0000 (0:00:00.007)       0:00:00.007 ****",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Display CSI driver value and environment variable] ***********************",
                                "Thursday 17 September 2026  13:32:38 +0000 (0:00:00.983)       0:00:00.990 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"",
                                "}",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  13:32:38 +0000 (0:00:00.065)       0:00:01.056 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "Thursday 17 September 2026  13:32:39 +0000 (0:00:00.987)       0:00:02.044 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Thursday 17 September 2026  13:32:39 +0000 (0:00:00.049)       0:00:02.094 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 17 September 2026  13:32:39 +0000 (0:00:00.221)       0:00:02.316 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  13:32:40 +0000 (0:00:00.943)       0:00:03.259 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  13:32:40 +0000 (0:00:00.327)       0:00:03.587 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 17 September 2026  13:32:40 +0000 (0:00:00.054)       0:00:03.641 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  13:32:41 +0000 (0:00:00.350)       0:00:03.991 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 17 September 2026  13:32:41 +0000 (0:00:00.089)       0:00:04.081 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  13:32:41 +0000 (0:00:00.739)       0:00:04.821 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  13:32:41 +0000 (0:00:00.069)       0:00:04.890 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  13:32:41 +0000 (0:00:00.058)       0:00:04.949 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 17 September 2026  13:32:42 +0000 (0:00:00.246)       0:00:05.195 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  13:32:43 +0000 (0:00:01.413)       0:00:06.608 ****",
                                "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 17 September 2026  13:32:43 +0000 (0:00:00.086)       0:00:06.695 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  13:32:44 +0000 (0:00:00.822)       0:00:07.517 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 17 September 2026  13:32:47 +0000 (0:00:02.946)       0:00:10.463 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 17 September 2026  13:32:47 +0000 (0:00:00.043)       0:00:10.507 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 17 September 2026  13:32:47 +0000 (0:00:00.045)       0:00:10.553 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 17 September 2026  13:32:47 +0000 (0:00:00.037)       0:00:10.590 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 17 September 2026  13:32:53 +0000 (0:00:06.179)       0:00:16.770 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 17 September 2026  13:32:54 +0000 (0:00:00.655)       0:00:17.425 ****",
                                "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 17 September 2026  13:32:55 +0000 (0:00:00.960)       0:00:18.386 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 17 September 2026  13:32:55 +0000 (0:00:00.532)       0:00:18.919 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Thursday 17 September 2026  13:32:55 +0000 (0:00:00.026)       0:00:18.945 ****",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Thursday 17 September 2026  13:32:56 +0000 (0:00:00.981)       0:00:19.927 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 17 September 2026  13:32:57 +0000 (0:00:00.522)       0:00:20.450 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 17 September 2026  13:32:58 +0000 (0:00:00.596)       0:00:21.046 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 17 September 2026  13:32:58 +0000 (0:00:00.239)       0:00:21.286 ****",
                                "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 17 September 2026  13:32:58 +0000 (0:00:00.050)       0:00:21.336 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 17 September 2026  13:32:59 +0000 (0:00:00.868)       0:00:22.205 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Thursday 17 September 2026  13:33:03 +0000 (0:00:04.372)       0:00:26.578 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Thursday 17 September 2026  13:33:04 +0000 (0:00:01.134)       0:00:27.713 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Thursday 17 September 2026  13:33:05 +0000 (0:00:00.377)       0:00:28.090 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Thursday 17 September 2026  13:33:05 +0000 (0:00:00.477)       0:00:28.568 ****",
                                "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 17 September 2026  13:33:06 +0000 (0:00:00.543)       0:00:29.111 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Thursday 17 September 2026  13:33:06 +0000 (0:00:00.459)       0:00:29.571 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Thursday 17 September 2026  13:33:07 +0000 (0:00:00.463)       0:00:30.034 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Thursday 17 September 2026  13:33:07 +0000 (0:00:00.029)       0:00:30.064 ****",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Thursday 17 September 2026  13:33:07 +0000 (0:00:00.771)       0:00:30.836 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Thursday 17 September 2026  13:33:08 +0000 (0:00:00.911)       0:00:31.747 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Thursday 17 September 2026  13:33:09 +0000 (0:00:00.615)       0:00:32.363 ****",
                                "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 17 September 2026  13:33:09 +0000 (0:00:00.058)       0:00:32.421 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Thursday 17 September 2026  13:33:14 +0000 (0:00:04.988)       0:00:37.409 ****",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Thursday 17 September 2026  13:33:15 +0000 (0:00:00.620)       0:00:38.029 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Thursday 17 September 2026  13:33:15 +0000 (0:00:00.747)       0:00:38.777 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Thursday 17 September 2026  13:33:16 +0000 (0:00:00.226)       0:00:39.003 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Thursday 17 September 2026  13:33:16 +0000 (0:00:00.426)       0:00:39.430 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Thursday 17 September 2026  13:33:16 +0000 (0:00:00.347)       0:00:39.777 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Thursday 17 September 2026  13:33:16 +0000 (0:00:00.122)       0:00:39.899 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Thursday 17 September 2026  13:33:17 +0000 (0:00:00.259)       0:00:40.159 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Thursday 17 September 2026  13:33:17 +0000 (0:00:00.074)       0:00:40.233 ****",
                                "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 17 September 2026  13:33:17 +0000 (0:00:00.083)       0:00:40.317 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Thursday 17 September 2026  13:33:17 +0000 (0:00:00.350)       0:00:40.668 ****",
                                "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 17 September 2026  13:33:18 +0000 (0:00:00.795)       0:00:41.463 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Thursday 17 September 2026  13:34:45 +0000 (0:01:27.097)       0:02:08.561 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Thursday 17 September 2026  13:34:45 +0000 (0:00:00.217)       0:02:08.778 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Thursday 17 September 2026  13:34:45 +0000 (0:00:00.038)       0:02:08.817 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Thursday 17 September 2026  13:34:45 +0000 (0:00:00.100)       0:02:08.918 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Thursday 17 September 2026  13:34:47 +0000 (0:00:01.723)       0:02:10.641 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Thursday 17 September 2026  13:34:47 +0000 (0:00:00.047)       0:02:10.689 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Thursday 17 September 2026  13:34:48 +0000 (0:00:00.365)       0:02:11.055 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Thursday 17 September 2026  13:34:50 +0000 (0:00:02.302)       0:02:13.357 ****",
                                "An exception occurred during task execution. To see the full traceback, use -vvv. The error was: [errno 5] RADOS I/O error (error connecting to the cluster)",
                                "fatal: [instance]: FAILED! => {\"changed\": false, \"module_stderr\": \"Traceback (most recent call last):\\n  File \\\"<stdin>\\\", line 107, in <module>\\n  File \\\"<stdin>\\\", line 99, in _ansiballz_main\\n  File \\\"<stdin>\\\", line 47, in invoke_module\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 224, in run_module\\n    return _run_module_code(code, init_globals, run_name, mod_spec)\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 96, in _run_module_code\\n    _run_code(code, mod_globals, init_globals,\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 86, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 202, in <module>\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 198, in main\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 177, in run_module\\n  File \\\"/tmp/ansible_vexxhost.ceph.orch_apply_payload_g9w_kx10/ansible_vexxhost.ceph.orch_apply_payload.zip/ansible_collections/vexxhost/ceph/plugins/modules/orch_apply.py\\\", line 120, in apply_spec\\nRuntimeError: Inferring config /var/lib/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4/mon.instance/config\\n2026-09-17T13:35:37.099+0000 7fa0a43aa640 -1 auth: error parsing file /etc/ceph/ceph.keyring: error setting modifier for [client.admin] type=key val=AgBQ7KtqxESFBiAAij5HAHEAgZcBziV9HWz7IjB8Aax3XPA3ikl55Lyo9qs=: Malformed input [buffer:3]\\n2026-09-17T13:35:37.099+0000 7fa0a43aa640 -1 auth: failed to load /etc/ceph/ceph.keyring: (5) Input/output error\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: error parsing file /etc/ceph/ceph.keyring: error setting modifier for [client.admin] type=key val=AgBQ7KtqxESFBiAAij5HAHEAgZcBziV9HWz7IjB8Aax3XPA3ikl55Lyo9qs=: Malformed input [buffer:3]\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: failed to load /etc/ceph/ceph.keyring: (5) Input/output error\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: error parsing file /etc/ceph/ceph.keyring: error setting modifier for [client.admin] type=key val=AgBQ7KtqxESFBiAAij5HAHEAgZcBziV9HWz7IjB8Aax3XPA3ikl55Lyo9qs=: Malformed input [buffer:3]\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 auth: failed to load /etc/ceph/ceph.keyring: (5) Input/output error\\n2026-09-17T13:35:37.103+0000 7fa0a43aa640 -1 monclient: keyring not found\\n[errno 5] RADOS I/O error (error connecting to the cluster)\\n\\n\", \"module_stdout\": \"\", \"msg\": \"MODULE FAILURE\\nSee stdout/stderr for the exact error\", \"rc\": 1}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=55   changed=26   unreachable=0    failed=1    skipped=7    rescued=0    ignored=0",
                                "",
                                "Thursday 17 September 2026  13:35:37 +0000 (0:00:46.900)       0:03:00.258 ****",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap command ------------------------------ 87.10s",
                                "vexxhost.ceph.mon : Configure \"mon\" label for monitors ----------------- 46.90s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 6.18s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 4.99s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.37s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.95s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.30s",
                                "vexxhost.containers.containerd : Reload systemd ------------------------- 1.75s",
                                "vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 1.72s",
                                "vexxhost.containers.package : Update state for tar ---------------------- 1.41s",
                                "vexxhost.containers.docker : Install AppArmor packages ------------------ 1.13s",
                                "Gathering Facts --------------------------------------------------------- 0.99s",
                                "Gathering Facts --------------------------------------------------------- 0.98s",
                                "vexxhost.containers.containerd : Create folders for configuration ------- 0.96s",
                                "Gathering Facts --------------------------------------------------------- 0.94s",
                                "vexxhost.containers.docker : Restart docker ----------------------------- 0.91s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 0.87s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 0.82s",
                                "vexxhost.ceph.mon : Include extra configuration values ------------------ 0.80s",
                                "vexxhost.ceph.cephadm : Download \"cephadm\" ------------------------------ 0.75s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "ERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0010-27c6-bf3e-000000000007-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:37.839486Z",
                            "start": "2026-09-17T13:31:44.020995Z"
                        },
                        "id": "0242ac17-0010-27c6-bf3e-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-17T13:35:49.266826Z",
                    "start": "2026-09-17T13:35:38.589342Z"
                },
                "id": "0242ac17-0010-ac57-7809-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-ac57-7809-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:39.019590Z",
                            "start": "2026-09-17T13:35:38.603077Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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\nip neigh > /tmp/logs/system/ip-neigh.txt\nbridge fdb show > /tmp/logs/system/bridge-fdb.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.109185",
                            "end": "2026-09-17 13:35:39.537223",
                            "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\nip neigh > /tmp/logs/system/ip-neigh.txt\nbridge fdb show > /tmp/logs/system/bridge-fdb.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-ac57-7809-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:39.428038",
                            "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+ ip neigh\n+ bridge fdb show\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",
                                "+ ip neigh",
                                "+ bridge fdb show",
                                "+ 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-ac57-7809-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:39.599115Z",
                            "start": "2026-09-17T13:35:39.064438Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.19:/tmp/logs/system /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/instance\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/bridge-fdb.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-neigh.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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/bridge-fdb.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-neigh.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-ac57-7809-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:40.317505Z",
                            "start": "2026-09-17T13:35:39.614100Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:40.749787Z",
                            "start": "2026-09-17T13:35:40.328450Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.003548",
                            "end": "2026-09-17 13:35:41.011204",
                            "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-ac57-7809-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:41.007656",
                            "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-ac57-7809-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:41.303598Z",
                            "start": "2026-09-17T13:35:40.790305Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.19:/tmp/logs/helm /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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-ac57-7809-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:41.822379Z",
                            "start": "2026-09-17T13:35:41.309791Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:42.069728Z",
                            "start": "2026-09-17T13:35:41.829938Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.023992",
                            "end": "2026-09-17 13:35:42.377572",
                            "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-ac57-7809-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:42.353580",
                            "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\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                            "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",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value"
                            ],
                            "zuul_log_id": "0242ac17-0010-ac57-7809-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:42.604758Z",
                            "start": "2026-09-17T13:35:42.090208Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:42.839297Z",
                            "start": "2026-09-17T13:35:42.610270Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.008843",
                            "end": "2026-09-17 13:35:43.105895",
                            "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-ac57-7809-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:43.097052",
                            "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-ac57-7809-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:43.395652Z",
                            "start": "2026-09-17T13:35:42.879910Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.19:/tmp/logs/objects /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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-ac57-7809-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:43.968516Z",
                            "start": "2026-09-17T13:35:43.401790Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:44.184373Z",
                            "start": "2026-09-17T13:35:43.979788Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:44.399403Z",
                            "start": "2026-09-17T13:35:44.189787Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.007871",
                            "end": "2026-09-17 13:35:44.649426",
                            "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-ac57-7809-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:44.641555",
                            "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-ac57-7809-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:44.942725Z",
                            "start": "2026-09-17T13:35:44.428548Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.19:/tmp/logs/pod-logs /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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-ac57-7809-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:45.460347Z",
                            "start": "2026-09-17T13:35:44.951607Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:45.696952Z",
                            "start": "2026-09-17T13:35:45.473654Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.055343",
                            "end": "2026-09-17 13:35:46.002541",
                            "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-ac57-7809-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:45.947198",
                            "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-ac57-7809-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:46.252181Z",
                            "start": "2026-09-17T13:35:45.735234Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.049983",
                            "end": "2026-09-17 13:35:46.570233",
                            "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-ac57-7809-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:46.520250",
                            "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-ac57-7809-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:46.807329Z",
                            "start": "2026-09-17T13:35:46.291937Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.057194",
                            "end": "2026-09-17 13:35:47.112298",
                            "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-ac57-7809-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-17 13:35:47.055104",
                            "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-ac57-7809-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:47.373836Z",
                            "start": "2026-09-17T13:35:46.848694Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.19:/tmp/logs/prometheus /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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-ac57-7809-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:47.936669Z",
                            "start": "2026-09-17T13:35:47.390116Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-ac57-7809-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:48.183694Z",
                            "start": "2026-09-17T13:35:47.953293Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.005847",
                            "end": "2026-09-17 13:35:48.497834",
                            "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-ac57-7809-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-09-17 13:35:48.491987",
                            "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-ac57-7809-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ac57-7809-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:48.737073Z",
                            "start": "2026-09-17T13:35:48.220937Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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.19:/tmp/logs/selenium /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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-ac57-7809-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:49.266826Z",
                            "start": "2026-09-17T13:35:48.743575Z"
                        },
                        "id": "0242ac17-0010-ac57-7809-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-17T13:35:53.633683Z",
                    "start": "2026-09-17T13:35:50.087210Z"
                },
                "id": "0242ac17-0010-2962-4524-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-2962-4524-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:50.164568Z",
                            "start": "2026-09-17T13:35:50.099240Z"
                        },
                        "id": "0242ac17-0010-2962-4524-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-2962-4524-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:50.223340Z",
                            "start": "2026-09-17T13:35:50.169477Z"
                        },
                        "id": "0242ac17-0010-2962-4524-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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-2962-4524-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:51.137507Z",
                            "start": "2026-09-17T13:35:50.233096Z"
                        },
                        "id": "0242ac17-0010-2962-4524-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.19:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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.19:/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-2962-4524-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:52.853708Z",
                            "start": "2026-09-17T13:35:51.145550Z"
                        },
                        "id": "0242ac17-0010-2962-4524-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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/artifacts/* /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008139",
                                    "end": "2026-09-17 13:35:53.316698",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/artifacts/* /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-09-17 13:35:53.308559",
                                    "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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/docs/* /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007846",
                                    "end": "2026-09-17 13:35:53.573953",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/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/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/docs/* /var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-09-17 13:35:53.566107",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-2962-4524-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:53.633683Z",
                            "start": "2026-09-17T13:35:52.872756Z"
                        },
                        "id": "0242ac17-0010-2962-4524-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-17T13:35:54.114710Z",
                    "start": "2026-09-17T13:35:53.641526Z"
                },
                "id": "0242ac17-0010-2962-4524-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuRB2L9vWv4PtcWLecJJWM/JeZDovBJxyxa/k0XmZoRWwjDxec3SlNAdJsUPMPHJl7CnM+zkJEQQ08LjKuckTeFGDx8KZecZomOOqDmFjGapKxtloxCvWZLagC0Sc6CvZLtRjUYfYS9tsteiA7W+xA4GEM4Z/PfzyvAhw0BhuIyuKV4nskYD6c8qshi567rscC04nX1ljawxB9Q2BmPIJEIPlmKuxlrL1Nm9ft9O2ngvprJHobsVTZFyYD3+nys/Q2EzicUX9xOaDC4uFZXK47Ez1ZtuLZCiBe2UXdQOI6K0i6g18hRrXuW2N9bZIEEdNXyc8iVnFePxAe4ER4nVjytIbJT/RJHfiyvTndPO773APekkXT1ddoQPP56b4Sb7hOGKmD1ePJK8sRX97jKyKnFAorxatgDy+iQhN7lMoQzrDDTlNbTxJEzx5Rolp5LRkkoNn9I/FY9xgBohvXtAZzpg4zYrQqtWn7knIc9CYwC1I/3OnDNmKGM8DTkKQTWs= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuRB2L9vWv4PtcWLecJJWM/JeZDovBJxyxa/k0XmZoRWwjDxec3SlNAdJsUPMPHJl7CnM+zkJEQQ08LjKuckTeFGDx8KZecZomOOqDmFjGapKxtloxCvWZLagC0Sc6CvZLtRjUYfYS9tsteiA7W+xA4GEM4Z/PfzyvAhw0BhuIyuKV4nskYD6c8qshi567rscC04nX1ljawxB9Q2BmPIJEIPlmKuxlrL1Nm9ft9O2ngvprJHobsVTZFyYD3+nys/Q2EzicUX9xOaDC4uFZXK47Ez1ZtuLZCiBe2UXdQOI6K0i6g18hRrXuW2N9bZIEEdNXyc8iVnFePxAe4ER4nVjytIbJT/RJHfiyvTndPO773APekkXT1ddoQPP56b4Sb7hOGKmD1ePJK8sRX97jKyKnFAorxatgDy+iQhN7lMoQzrDDTlNbTxJEzx5Rolp5LRkkoNn9I/FY9xgBohvXtAZzpg4zYrQqtWn7knIc9CYwC1I/3OnDNmKGM8DTkKQTWs= 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-2962-4524-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/c7c9f3e45e2544e7b8704db2ed1ba7ca/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-17T13:35:54.114710Z",
                            "start": "2026-09-17T13:35:53.649502Z"
                        },
                        "id": "0242ac17-0010-2962-4524-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
}
]
