[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-28T05:58:14.434038Z",
                    "start": "2026-04-28T05:58:10.586014Z"
                },
                "id": "0242ac17-0011-95e1-76f1-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-04-28",
                                    "day": "28",
                                    "epoch": "1777355892",
                                    "epoch_int": "1777355892",
                                    "hour": "05",
                                    "iso8601": "2026-04-28T05:58:12Z",
                                    "iso8601_basic": "20260428T055812235366",
                                    "iso8601_basic_short": "20260428T055812",
                                    "iso8601_micro": "2026-04-28T05:58:12.235366Z",
                                    "minute": "58",
                                    "month": "04",
                                    "second": "12",
                                    "time": "05:58:12",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Tuesday",
                                    "weekday_number": "2",
                                    "weeknumber": "17",
                                    "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/4df78888cd1441b29369855e35a7737e/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work",
                                    "HOSTNAME": "0a8996d2b663",
                                    "LANG": "C.UTF-8",
                                    "PATH": "/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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": "1647817",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-wwWacuGDKVVu/agent.1647816",
                                    "TMP": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "0a8996d2b663",
                                "ansible_hostname": "0a8996d2b663",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 3.02978515625,
                                    "1m": 5.98779296875,
                                    "5m": 4.3544921875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 1672,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 14567,
                                        "used": 17523
                                    },
                                    "real": {
                                        "free": 1672,
                                        "total": 32090,
                                        "used": 30418
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 172174204,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 91766513,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 53892338,
                                        "inode_total": 67108864,
                                        "inode_used": 13216526,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 705225539584,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8262115,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32339465,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16159936,
                                        "inode_total": 20643840,
                                        "inode_used": 4483904,
                                        "mount": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 33841623040,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "0a8996d2b663",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": [
                                        "tty1",
                                        "ttyS0"
                                    ],
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_processor": [
                                    "0",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "1",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "2",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "3",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "4",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "5",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "6",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "7",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "8",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "9",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "10",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "11",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "12",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "13",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "14",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "15",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 16,
                                "ansible_processor_nproc": 16,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 16,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/local/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 14,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        14,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.14",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 0,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": "N/A",
                                "ansible_system_capabilities_enforced": "N/A",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 41019622,
                                "ansible_user_dir": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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-04-28T05:58:12.803095Z",
                            "start": "2026-04-28T05:58:10.593964Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:12.829421Z",
                            "start": "2026-04-28T05:58:12.808146Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "4df/oss/4df78888cd1441b29369855e35a7737e"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:12.870369Z",
                            "start": "2026-04-28T05:58:12.839599Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.16\nJob: atmosphere-molecule-csi-rbd\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3882\nEvent ID: 19f7c770-42c7-11f1-856e-2b2aef8c4409\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:12.922109Z",
                            "start": "2026-04-28T05:58:12.878286Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-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: np0000170872\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.233\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:13.077170Z",
                            "start": "2026-04-28T05:58:12.927940Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:13.477401Z",
                            "start": "2026-04-28T05:58:13.087764Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "191a693bdc1bd129fd7c75077d91ce26c1ac3f96",
                            "dest": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "191a693bdc1bd129fd7c75077d91ce26c1ac3f96",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/.ansible/tmp/ansible-tmp-1777355893.5078218-84-117487633354236/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4c5edadf083d6ce3c01fb5de78e1adc3",
                            "mode": "0644",
                            "owner": "root",
                            "size": 34524,
                            "src": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/.ansible/tmp/ansible-tmp-1777355893.5078218-84-117487633354236/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:14.434038Z",
                            "start": "2026-04-28T05:58:13.481729Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-28T05:58:21.940577Z",
                    "start": "2026-04-28T05:58:14.440578Z"
                },
                "id": "0242ac17-0011-95e1-76f1-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/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:14.665591Z",
                            "start": "2026-04-28T05:58:14.449342Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:14.709830Z",
                            "start": "2026-04-28T05:58:14.674519Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-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/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.784993",
                            "end": "2026-04-28 05:58:15.931491",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-95e1-76f1-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 05:58:15.146498",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa.pub\nThe key fingerprint is:\nSHA256:To8hdtqxzPe05StNHwt/9MVZcfNr5xQHc/9LL3eT2xc zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|                 |\n|              ooo|\n|               +*|\n|               .=|\n|      o S      .B|\n|     . X *   ..EB|\n|      . B o .o*=@|\n|         . o.+o*@|\n|            o.o=B|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:To8hdtqxzPe05StNHwt/9MVZcfNr5xQHc/9LL3eT2xc zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|                 |",
                                "|              ooo|",
                                "|               +*|",
                                "|               .=|",
                                "|      o S      .B|",
                                "|     . X *   ..EB|",
                                "|      . B o .o*=@|",
                                "|         . o.+o*@|",
                                "|            o.o=B|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-95e1-76f1-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:15.979942Z",
                            "start": "2026-04-28T05:58:14.731872Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:16.018744Z",
                            "start": "2026-04-28T05:58:15.986631Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:16.060163Z",
                            "start": "2026-04-28T05:58:16.035745Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDZqgpnhRd+sS35/GA63eVcPIMiV2TfMVas6ZCPlOEumA0+JexrxneIxOYHCpBk/bC8Mgkzescf6/ED1lVFjNJsIMr49pI7zvMaRPRIX2hfhefySHZUnMHy/ln7X1LsK+K70tirMa6llIlnb4hA7YFxv8/EV9vVnUFjCSLtxL08lLn5floJuSU14YKsCutM+LLyPJsGnoU2FG7OARDm2rwnp9dyPoMI0hFV3vehEerlYZOYlr++Uau8J06SlBEAInFjj3f2kXLD45e88XRo2/DCfE9BXX9KZvutiYwvaKq0fweZkK9KNiqYERPLVBlHQd/Tmlq5JclbTm321mtvkIy0nn0S7aJqh6OECKp/j66ppICaQBTu2Yvj3pjHwW4uSwm0xE1d8TO/TkAVppMFaIfdkv9/GjlmV+r5m/y36w52tD0jFb8TKQ5shuy/u4ZbOLDllK3n2SmBH2foHrY/Vm8FshpW8HYb4RNdDIqYoJgGvFnSyTWRhz0McySNPjkhaJU= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDZqgpnhRd+sS35/GA63eVcPIMiV2TfMVas6ZCPlOEumA0+JexrxneIxOYHCpBk/bC8Mgkzescf6/ED1lVFjNJsIMr49pI7zvMaRPRIX2hfhefySHZUnMHy/ln7X1LsK+K70tirMa6llIlnb4hA7YFxv8/EV9vVnUFjCSLtxL08lLn5floJuSU14YKsCutM+LLyPJsGnoU2FG7OARDm2rwnp9dyPoMI0hFV3vehEerlYZOYlr++Uau8J06SlBEAInFjj3f2kXLD45e88XRo2/DCfE9BXX9KZvutiYwvaKq0fweZkK9KNiqYERPLVBlHQd/Tmlq5JclbTm321mtvkIy0nn0S7aJqh6OECKp/j66ppICaQBTu2Yvj3pjHwW4uSwm0xE1d8TO/TkAVppMFaIfdkv9/GjlmV+r5m/y36w52tD0jFb8TKQ5shuy/u4ZbOLDllK3n2SmBH2foHrY/Vm8FshpW8HYb4RNdDIqYoJgGvFnSyTWRhz0McySNPjkhaJU= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:16.500390Z",
                            "start": "2026-04-28T05:58:16.071466Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:16.681486Z",
                            "start": "2026-04-28T05:58:16.506493Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "2e1ff4f6e9ea9265f950094f00c61e021bc8af56",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4df78888cd1441b29369855e35a7737e_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "2e1ff4f6e9ea9265f950094f00c61e021bc8af56",
                                    "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-1777355896.7261114-190-46968091942616/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "830c72a66fa42afb1ac50c5b3a660cea",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777355896.7261114-190-46968091942616/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:17.136714Z",
                            "start": "2026-04-28T05:58:16.686983Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "4dbaccb6c7cd334ddeb4ac1fd92b01beaec01798",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4df78888cd1441b29369855e35a7737e_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "4dbaccb6c7cd334ddeb4ac1fd92b01beaec01798",
                                    "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-1777355897.1798744-200-267674801093329/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "5a3a0e07527b820086de75df233c21f9",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777355897.1798744-200-267674801093329/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:17.590319Z",
                            "start": "2026-04-28T05:58:17.142921Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:17.622184Z",
                            "start": "2026-04-28T05:58:17.596996Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:18.022538Z",
                            "start": "2026-04-28T05:58:17.632192Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa"
                            ],
                            "delta": "0:00:00.012871",
                            "end": "2026-04-28 05:58:18.284747",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-95e1-76f1-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 05:58:18.271876",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/4df78888cd1441b29369855e35a7737e_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-95e1-76f1-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:18.336441Z",
                            "start": "2026-04-28T05:58:18.038048Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:18.859134Z",
                            "start": "2026-04-28T05:58:18.346607Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:18.891867Z",
                            "start": "2026-04-28T05:58:18.867435Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:19.235147Z",
                            "start": "2026-04-28T05:58:18.907198Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:20.841241Z",
                            "start": "2026-04-28T05:58:19.245551Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:21.370008Z",
                            "start": "2026-04-28T05:58:20.852988Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-95e1-76f1-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:21.940577Z",
                            "start": "2026-04-28T05:58:21.377039Z"
                        },
                        "id": "0242ac17-0011-95e1-76f1-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-04-28T05:58:25.795336Z",
                    "start": "2026-04-28T05:58:22.629989Z"
                },
                "id": "0242ac17-0011-5dcc-61b8-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-1777355902.6880634-5-63044670877559/uv-x86_64-unknown-linux-gnud_zrflu2.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-1777355902.6880634-5-63044670877559/uv-x86_64-unknown-linux-gnud_zrflu2.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5dcc-61b8-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:25.247276Z",
                            "start": "2026-04-28T05:58:22.642568Z"
                        },
                        "id": "0242ac17-0011-5dcc-61b8-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.011379",
                            "end": "2026-04-28 05:58:25.590693",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-5dcc-61b8-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 05:58:25.579314",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-5dcc-61b8-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5dcc-61b8-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:25.795336Z",
                            "start": "2026-04-28T05:58:25.277000Z"
                        },
                        "id": "0242ac17-0011-5dcc-61b8-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2024.2",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-28T05:58:50.010780Z",
                    "start": "2026-04-28T05:58:26.559321Z"
                },
                "id": "0242ac17-0011-fb89-3dd6-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1777355925,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 359 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]\nFetched 359 kB in 0s (831 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 ... 30923 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.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 359 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]",
                                "Fetched 359 kB in 0s (831 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 ... 30923 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.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:50.010780Z",
                            "start": "2026-04-28T05:58:26.569976Z"
                        },
                        "id": "0242ac17-0011-fb89-3dd6-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-04-28T06:05:39.184424Z",
                    "start": "2026-04-28T05:58:50.830485Z"
                },
                "id": "0242ac17-0011-8054-aa6d-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "191a693bdc1bd129fd7c75077d91ce26c1ac3f96",
                            "dest": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "191a693bdc1bd129fd7c75077d91ce26c1ac3f96",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777355930.8908803-5-163754536463071/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4c5edadf083d6ce3c01fb5de78e1adc3",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 34524,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777355930.8908803-5-163754536463071/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:51.712598Z",
                            "start": "2026-04-28T05:58:50.841434Z"
                        },
                        "id": "0242ac17-0011-8054-aa6d-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T05:58:51.983946Z",
                            "start": "2026-04-28T05:58:51.717606Z"
                        },
                        "id": "0242ac17-0011-8054-aa6d-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "csi"
                            ],
                            "delta": "0:06:46.735379",
                            "end": "2026-04-28 06:05:39.052077",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s csi",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-8054-aa6d-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-04-28 05:58:52.316698",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using CPython 3.10.12 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\n   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nDownloading openstacksdk (1.7MiB)\nDownloading pygments (1.2MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading setuptools (1.1MiB)\nDownloading netaddr (2.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading kubernetes (1.9MiB)\nDownloading cryptography (4.2MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading netaddr\n Downloading pygments\n Downloading setuptools\n Downloading cryptography\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 79 packages in 48ms\nWARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [csi > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [csi > prerun] Performing prerun with role_name_check=0...\nINFO     [csi > dependency] Executing\nWARNING  [csi > dependency] Missing roles requirements file: requirements.yml\nWARNING  [csi > dependency] Missing collections requirements file: collections.yml\nWARNING  [csi > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [csi > cleanup] Executing\nWARNING  [csi > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [csi > destroy] Executing\nWARNING  [csi > destroy] Skipping, '--destroy=never' requested.\nINFO     [csi > destroy] Executed: Successful\nINFO     [csi > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml\nINFO     [csi > syntax] Executed: Successful\nINFO     [csi > create] Executing\nWARNING  [csi > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [csi > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  05:59:34 +0000 (0:00:00.026)       0:00:00.026 *********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nTuesday 28 April 2026  05:59:35 +0000 (0:00:01.138)       0:00:01.164 *********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nTuesday 28 April 2026  05:59:36 +0000 (0:00:00.650)       0:00:01.815 *********\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created\nwith a mode of 0700, this may cause issues when running as another user. To\navoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nTuesday 28 April 2026  05:59:36 +0000 (0:00:00.269)       0:00:02.085 *********\nok: [instance]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  05:59:37 +0000 (0:00:00.739)       0:00:02.825 *********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nTuesday 28 April 2026  05:59:38 +0000 (0:00:00.682)       0:00:03.507 *********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nTuesday 28 April 2026  05:59:57 +0000 (0:00:18.941)       0:00:22.449 *********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nTuesday 28 April 2026  05:59:57 +0000 (0:00:00.517)       0:00:22.966 *********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nTuesday 28 April 2026  05:59:57 +0000 (0:00:00.283)       0:00:23.250 *********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nTuesday 28 April 2026  05:59:58 +0000 (0:00:00.621)       0:00:23.872 *********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nTuesday 28 April 2026  05:59:58 +0000 (0:00:00.186)       0:00:24.058 *********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nTuesday 28 April 2026  05:59:58 +0000 (0:00:00.022)       0:00:24.081 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nTuesday 28 April 2026  05:59:59 +0000 (0:00:00.495)       0:00:24.576 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nTuesday 28 April 2026  05:59:59 +0000 (0:00:00.605)       0:00:25.182 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nTuesday 28 April 2026  06:00:00 +0000 (0:00:00.663)       0:00:25.846 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nTuesday 28 April 2026  06:00:03 +0000 (0:00:03.049)       0:00:28.896 *********\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=15   changed=9    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nTuesday 28 April 2026  06:00:05 +0000 (0:00:01.798)       0:00:30.694 *********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 18.94s\nCreate a volume group for each loop device ------------------------------ 3.05s\nCreate a logical volume for each loop device ---------------------------- 1.80s\nGathering Facts --------------------------------------------------------- 1.14s\nPurge \"snapd\" package --------------------------------------------------- 0.74s\nGathering Facts --------------------------------------------------------- 0.68s\nStart loop devices ------------------------------------------------------ 0.66s\nConfigure short hostname ------------------------------------------------ 0.65s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.62s\nSet permissions on loopback devices ------------------------------------- 0.61s\nStart up service -------------------------------------------------------- 0.52s\nCreate devices for Ceph ------------------------------------------------- 0.50s\nGenerate lvm.conf ------------------------------------------------------- 0.28s\nEnsure hostname inside hosts file --------------------------------------- 0.27s\nGet list of all loopback devices ---------------------------------------- 0.19s\nFail if there is any existing loopback devices -------------------------- 0.02s\nINFO     [csi > prepare] Executed: Successful\nINFO     [csi > converge] Executing\n\nPLAY [Debug CSI driver value] **************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:00:06 +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] ***********************\nTuesday 28 April 2026  06:00:07 +0000 (0:00:00.915)       0:00:00.923 *********\nok: [instance] => {\n    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"\n}\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:00:07 +0000 (0:00:00.039)       0:00:00.962 *********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 28 April 2026  06:00:08 +0000 (0:00:00.859)       0:00:01.821 *********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:00:08 +0000 (0:00:00.190)       0:00:02.011 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:00:09 +0000 (0:00:00.852)       0:00:02.864 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:00:09 +0000 (0:00:00.263)       0:00:03.128 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 28 April 2026  06:00:09 +0000 (0:00:00.041)       0:00:03.170 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:00:10 +0000 (0:00:00.289)       0:00:03.459 *********\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] *******************\nTuesday 28 April 2026  06:00:10 +0000 (0:00:00.066)       0:00:03.526 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:00:10 +0000 (0:00:00.751)       0:00:04.277 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:00:11 +0000 (0:00:00.050)       0:00:04.328 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:00:11 +0000 (0:00:00.049)       0:00:04.377 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:00:11 +0000 (0:00:00.200)       0:00:04.578 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:00:12 +0000 (0:00:01.131)       0:00:05.709 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:00:12 +0000 (0:00:00.080)       0:00:05.789 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:00:13 +0000 (0:00:00.936)       0:00:06.725 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 28 April 2026  06:00:16 +0000 (0:00:02.847)       0:00:09.573 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 28 April 2026  06:00:16 +0000 (0:00:00.031)       0:00:09.605 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 28 April 2026  06:00:16 +0000 (0:00:00.038)       0:00:09.643 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 28 April 2026  06:00:16 +0000 (0:00:00.033)       0:00:09.677 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 28 April 2026  06:00:21 +0000 (0:00:04.978)       0:00:14.656 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 28 April 2026  06:00:21 +0000 (0:00:00.559)       0:00:15.216 *********\nchanged: [instance] => (item={'path': '/etc/containerd'})\nchanged: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 28 April 2026  06:00:22 +0000 (0:00:00.896)       0:00:16.112 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 28 April 2026  06:00:23 +0000 (0:00:00.533)       0:00:16.645 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 28 April 2026  06:00:23 +0000 (0:00:00.016)       0:00:16.662 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nTuesday 28 April 2026  06:00:24 +0000 (0:00:00.889)       0:00:17.552 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 28 April 2026  06:00:24 +0000 (0:00:00.437)       0:00:17.989 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:00:25 +0000 (0:00:00.527)       0:00:18.517 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:00:25 +0000 (0:00:00.195)       0:00:18.713 *********\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:00:25 +0000 (0:00:00.052)       0:00:18.765 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:00:26 +0000 (0:00:01.029)       0:00:19.795 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 28 April 2026  06:00:30 +0000 (0:00:04.215)       0:00:24.010 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 28 April 2026  06:00:31 +0000 (0:00:00.941)       0:00:24.951 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 28 April 2026  06:00:31 +0000 (0:00:00.329)       0:00:25.281 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 28 April 2026  06:00:32 +0000 (0:00:00.462)       0:00:25.744 *********\nchanged: [instance] => (item={'path': '/etc/docker'})\nchanged: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nchanged: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nTuesday 28 April 2026  06:00:32 +0000 (0:00:00.549)       0:00:26.293 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 28 April 2026  06:00:33 +0000 (0:00:00.435)       0:00:26.729 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 28 April 2026  06:00:33 +0000 (0:00:00.443)       0:00:27.173 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 28 April 2026  06:00:33 +0000 (0:00:00.017)       0:00:27.190 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nTuesday 28 April 2026  06:00:34 +0000 (0:00:00.698)       0:00:27.889 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 28 April 2026  06:00:35 +0000 (0:00:00.825)       0:00:28.714 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 28 April 2026  06:00:35 +0000 (0:00:00.541)       0:00:29.256 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nTuesday 28 April 2026  06:00:36 +0000 (0:00:00.053)       0:00:29.309 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 28 April 2026  06:00:40 +0000 (0:00:04.961)       0:00:34.270 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 28 April 2026  06:00:41 +0000 (0:00:00.640)       0:00:34.911 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 28 April 2026  06:00:42 +0000 (0:00:00.953)       0:00:35.865 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 28 April 2026  06:00:42 +0000 (0:00:00.203)       0:00:36.068 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 28 April 2026  06:00:43 +0000 (0:00:00.437)       0:00:36.506 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nTuesday 28 April 2026  06:00:43 +0000 (0:00:00.313)       0:00:36.819 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:01.584)       0:00:38.403 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.046)       0:00:38.449 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.035)       0:00:38.485 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.038)       0:00:38.523 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.039)       0:00:38.563 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.037)       0:00:38.601 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.041)       0:00:38.642 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.035)       0:00:38.677 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.033)       0:00:38.711 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.108)       0:00:38.820 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.203)       0:00:39.023 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.050)       0:00:39.074 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\n\nTASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************\nTuesday 28 April 2026  06:00:45 +0000 (0:00:00.069)       0:00:39.143 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nTuesday 28 April 2026  06:00:46 +0000 (0:00:00.289)       0:00:39.433 *********\nchanged: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\nchanged: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\nchanged: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\n\nTASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\nTuesday 28 April 2026  06:00:46 +0000 (0:00:00.670)       0:00:40.103 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nTuesday 28 April 2026  06:02:18 +0000 (0:01:31.868)       0:02:11.971 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nTuesday 28 April 2026  06:02:18 +0000 (0:00:00.199)       0:02:12.171 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 28 April 2026  06:02:18 +0000 (0:00:00.048)       0:02:12.220 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 28 April 2026  06:02:19 +0000 (0:00:00.090)       0:02:12.310 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 28 April 2026  06:02:20 +0000 (0:00:01.373)       0:02:13.683 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 28 April 2026  06:02:20 +0000 (0:00:00.060)       0:02:13.744 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 28 April 2026  06:02:20 +0000 (0:00:00.357)       0:02:14.101 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nTuesday 28 April 2026  06:02:22 +0000 (0:00:01.840)       0:02:15.942 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nTuesday 28 April 2026  06:02:24 +0000 (0:00:01.459)       0:02:17.401 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 28 April 2026  06:02:35 +0000 (0:00:11.040)       0:02:28.441 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 28 April 2026  06:02:35 +0000 (0:00:00.084)       0:02:28.526 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 28 April 2026  06:02:35 +0000 (0:00:00.058)       0:02:28.585 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 28 April 2026  06:02:35 +0000 (0:00:00.056)       0:02:28.641 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 28 April 2026  06:02:35 +0000 (0:00:00.262)       0:02:28.904 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nTuesday 28 April 2026  06:02:37 +0000 (0:00:01.856)       0:02:30.761 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nTuesday 28 April 2026  06:02:38 +0000 (0:00:01.393)       0:02:32.155 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nTuesday 28 April 2026  06:02:40 +0000 (0:00:01.381)       0:02:33.536 *********\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:02:41 +0000 (0:00:01.718)       0:02:35.255 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:02:42 +0000 (0:00:00.927)       0:02:36.182 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.207)       0:02:36.389 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.043)       0:02:36.433 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.208)       0:02:36.642 *********\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] *******************\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.054)       0:02:36.696 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.302)       0:02:36.999 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.048)       0:02:37.048 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.043)       0:02:37.091 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:02:43 +0000 (0:00:00.207)       0:02:37.299 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:02:44 +0000 (0:00:01.006)       0:02:38.305 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:02:45 +0000 (0:00:00.065)       0:02:38.370 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:02:45 +0000 (0:00:00.325)       0:02:38.696 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 28 April 2026  06:02:47 +0000 (0:00:01.944)       0:02:40.641 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 28 April 2026  06:02:47 +0000 (0:00:00.036)       0:02:40.677 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 28 April 2026  06:02:47 +0000 (0:00:00.035)       0:02:40.713 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 28 April 2026  06:02:47 +0000 (0:00:00.032)       0:02:40.745 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 28 April 2026  06:02:48 +0000 (0:00:00.994)       0:02:41.740 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 28 April 2026  06:02:48 +0000 (0:00:00.422)       0:02:42.162 *********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 28 April 2026  06:02:49 +0000 (0:00:00.891)       0:02:43.053 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 28 April 2026  06:02:50 +0000 (0:00:00.486)       0:02:43.540 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 28 April 2026  06:02:50 +0000 (0:00:00.014)       0:02:43.555 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:02:50 +0000 (0:00:00.343)       0:02:43.899 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:02:50 +0000 (0:00:00.192)       0:02:44.092 *********\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:02:50 +0000 (0:00:00.053)       0:02:44.146 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:02:51 +0000 (0:00:00.337)       0:02:44.483 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 28 April 2026  06:02:54 +0000 (0:00:03.081)       0:02:47.564 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 28 April 2026  06:02:55 +0000 (0:00:01.012)       0:02:48.577 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 28 April 2026  06:02:55 +0000 (0:00:00.201)       0:02:48.778 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 28 April 2026  06:02:55 +0000 (0:00:00.399)       0:02:49.178 *********\nok: [instance] => (item={'path': '/etc/docker'})\nok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nTuesday 28 April 2026  06:02:56 +0000 (0:00:00.550)       0:02:49.728 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 28 April 2026  06:02:56 +0000 (0:00:00.429)       0:02:50.158 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 28 April 2026  06:02:57 +0000 (0:00:00.424)       0:02:50.582 *********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 28 April 2026  06:02:57 +0000 (0:00:00.017)       0:02:50.600 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 28 April 2026  06:02:57 +0000 (0:00:00.387)       0:02:50.987 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nTuesday 28 April 2026  06:02:57 +0000 (0:00:00.056)       0:02:51.044 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 28 April 2026  06:02:58 +0000 (0:00:01.043)       0:02:52.088 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 28 April 2026  06:02:59 +0000 (0:00:00.646)       0:02:52.734 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 28 April 2026  06:02:59 +0000 (0:00:00.342)       0:02:53.077 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 28 April 2026  06:02:59 +0000 (0:00:00.191)       0:02:53.268 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 28 April 2026  06:03:00 +0000 (0:00:00.232)       0:02:53.501 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nTuesday 28 April 2026  06:03:00 +0000 (0:00:00.210)       0:02:53.711 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nTuesday 28 April 2026  06:03:00 +0000 (0:00:00.233)       0:02:53.945 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nTuesday 28 April 2026  06:03:00 +0000 (0:00:00.047)       0:02:53.993 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nTuesday 28 April 2026  06:03:05 +0000 (0:00:05.271)       0:02:59.264 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 28 April 2026  06:03:06 +0000 (0:00:00.049)       0:02:59.313 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 28 April 2026  06:03:06 +0000 (0:00:00.062)       0:02:59.375 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 28 April 2026  06:03:06 +0000 (0:00:00.040)       0:02:59.416 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 28 April 2026  06:03:06 +0000 (0:00:00.043)       0:02:59.459 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 28 April 2026  06:03:06 +0000 (0:00:00.248)       0:02:59.707 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nTuesday 28 April 2026  06:03:08 +0000 (0:00:01.683)       0:03:01.391 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nTuesday 28 April 2026  06:03:08 +0000 (0:00:00.028)       0:03:01.419 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nTuesday 28 April 2026  06:03:08 +0000 (0:00:00.026)       0:03:01.446 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nTuesday 28 April 2026  06:03:13 +0000 (0:00:05.251)       0:03:06.698 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nTuesday 28 April 2026  06:03:23 +0000 (0:00:10.002)       0:03:16.700 *********\nok: [instance] => (item=/dev/ceph-instance-osd0/data)\nok: [instance] => (item=/dev/ceph-instance-osd1/data)\nok: [instance] => (item=/dev/ceph-instance-osd2/data)\n\nTASK [vexxhost.ceph.osd : Get mon dump] ****************************************\nTuesday 28 April 2026  06:04:43 +0000 (0:01:20.415)       0:04:37.116 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nTuesday 28 April 2026  06:04:45 +0000 (0:00:01.854)       0:04:38.970 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nTuesday 28 April 2026  06:04:47 +0000 (0:00:01.611)       0:04:40.581 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nTuesday 28 April 2026  06:04:47 +0000 (0:00:00.060)       0:04:40.642 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nTuesday 28 April 2026  06:04:47 +0000 (0:00:00.054)       0:04:40.696 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nTuesday 28 April 2026  06:04:48 +0000 (0:00:01.406)       0:04:42.103 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nTuesday 28 April 2026  06:04:48 +0000 (0:00:00.043)       0:04:42.146 *********\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\nTuesday 28 April 2026  06:04:48 +0000 (0:00:00.051)       0:04:42.198 *********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nTuesday 28 April 2026  06:04:48 +0000 (0:00:00.039)       0:04:42.237 *********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:04:49 +0000 (0:00:00.346)       0:04:42.584 *********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nTuesday 28 April 2026  06:04:50 +0000 (0:00:00.926)       0:04:43.510 *********\nchanged: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\nchanged: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\nchanged: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\nchanged: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\n\nTASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\nTuesday 28 April 2026  06:04:55 +0000 (0:00:05.647)       0:04:49.158 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nTuesday 28 April 2026  06:04:56 +0000 (0:00:00.195)       0:04:49.353 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nTuesday 28 April 2026  06:04:56 +0000 (0:00:00.444)       0:04:49.798 *********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 28 April 2026  06:04:56 +0000 (0:00:00.251)       0:04:50.049 *********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:04:56 +0000 (0:00:00.053)       0:04:50.103 *********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nTuesday 28 April 2026  06:04:57 +0000 (0:00:00.884)       0:04:50.987 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nTuesday 28 April 2026  06:04:57 +0000 (0:00:00.231)       0:04:51.219 *********\nok: [instance] => (item=/etc/keepalived/keepalived.conf)\nok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\nok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\nok: [instance] => (item=/etc/haproxy/haproxy.cfg)\nok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n\nTASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\nTuesday 28 April 2026  06:04:58 +0000 (0:00:00.956)       0:04:52.176 *********\nfailed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}\nfailed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}\nfailed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}\n...ignoring\n\nTASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\nTuesday 28 April 2026  06:04:59 +0000 (0:00:00.479)       0:04:52.655 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nTuesday 28 April 2026  06:04:59 +0000 (0:00:00.188)       0:04:52.844 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nTuesday 28 April 2026  06:04:59 +0000 (0:00:00.195)       0:04:53.040 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nTuesday 28 April 2026  06:04:59 +0000 (0:00:00.031)       0:04:53.071 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nTuesday 28 April 2026  06:04:59 +0000 (0:00:00.036)       0:04:53.107 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nTuesday 28 April 2026  06:05:00 +0000 (0:00:00.503)       0:04:53.611 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nTuesday 28 April 2026  06:05:00 +0000 (0:00:00.187)       0:04:53.798 *********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 28 April 2026  06:05:00 +0000 (0:00:00.059)       0:04:53.858 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:05:01 +0000 (0:00:00.871)       0:04:54.729 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:05:01 +0000 (0:00:00.198)       0:04:54.927 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 28 April 2026  06:05:01 +0000 (0:00:00.036)       0:04:54.964 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:05:01 +0000 (0:00:00.192)       0:04:55.157 *********\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] *******************\nTuesday 28 April 2026  06:05:01 +0000 (0:00:00.052)       0:04:55.209 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:05:02 +0000 (0:00:00.291)       0:04:55.500 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:05:02 +0000 (0:00:00.042)       0:04:55.543 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 28 April 2026  06:05:02 +0000 (0:00:00.193)       0:04:55.737 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:05:03 +0000 (0:00:00.972)       0:04:56.709 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:05:03 +0000 (0:00:00.057)       0:04:56.767 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:05:03 +0000 (0:00:00.345)       0:04:57.112 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 28 April 2026  06:05:05 +0000 (0:00:01.952)       0:04:59.065 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 28 April 2026  06:05:05 +0000 (0:00:00.032)       0:04:59.098 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 28 April 2026  06:05:05 +0000 (0:00:00.032)       0:04:59.130 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 28 April 2026  06:05:05 +0000 (0:00:00.029)       0:04:59.160 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 28 April 2026  06:05:06 +0000 (0:00:00.976)       0:05:00.137 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 28 April 2026  06:05:07 +0000 (0:00:00.410)       0:05:00.547 *********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 28 April 2026  06:05:08 +0000 (0:00:00.882)       0:05:01.430 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 28 April 2026  06:05:08 +0000 (0:00:00.513)       0:05:01.943 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 28 April 2026  06:05:08 +0000 (0:00:00.007)       0:05:01.950 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nTuesday 28 April 2026  06:05:08 +0000 (0:00:00.356)       0:05:02.307 *********\nfatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.526)       0:05:02.833 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.037)       0:05:02.870 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.024)       0:05:02.895 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.032)       0:05:02.928 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.029)       0:05:02.957 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.039)       0:05:02.996 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.201)       0:05:03.197 *********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:05:09 +0000 (0:00:00.040)       0:05:03.238 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:05:10 +0000 (0:00:00.728)       0:05:03.966 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:05:10 +0000 (0:00:00.043)       0:05:04.010 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:05:10 +0000 (0:00:00.200)       0:05:04.211 *********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:05:10 +0000 (0:00:00.045)       0:05:04.256 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:05:11 +0000 (0:00:00.754)       0:05:05.011 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 28 April 2026  06:05:11 +0000 (0:00:00.057)       0:05:05.068 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 28 April 2026  06:05:11 +0000 (0:00:00.033)       0:05:05.102 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 28 April 2026  06:05:11 +0000 (0:00:00.034)       0:05:05.136 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 28 April 2026  06:05:11 +0000 (0:00:00.036)       0:05:05.173 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 28 April 2026  06:05:12 +0000 (0:00:00.995)       0:05:06.168 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 28 April 2026  06:05:13 +0000 (0:00:00.417)       0:05:06.586 *********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 28 April 2026  06:05:14 +0000 (0:00:00.890)       0:05:07.476 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 28 April 2026  06:05:14 +0000 (0:00:00.513)       0:05:07.989 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 28 April 2026  06:05:14 +0000 (0:00:00.007)       0:05:07.996 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 28 April 2026  06:05:15 +0000 (0:00:00.324)       0:05:08.320 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:05:15 +0000 (0:00:00.191)       0:05:08.512 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:05:15 +0000 (0:00:00.049)       0:05:08.562 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 28 April 2026  06:05:15 +0000 (0:00:00.571)       0:05:09.133 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 28 April 2026  06:05:17 +0000 (0:00:01.351)       0:05:10.484 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 28 April 2026  06:05:17 +0000 (0:00:00.051)       0:05:10.536 *********\nfatal: [instance]: FAILED! => {\"attempts\": 4, \"censored\": \"the output has been hidden due to the fact that 'no_log: true' was specified for this result\", \"changed\": false}\nFAILED - RETRYING: [instance]: Download item (4 retries left).\nFAILED - RETRYING: [instance]: Download item (3 retries left).\nFAILED - RETRYING: [instance]: Download item (2 retries left).\nFAILED - RETRYING: [instance]: Download item (1 retries left).\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=163  changed=35   unreachable=0    failed=1    skipped=42   rescued=0    ignored=2\n\nTuesday 28 April 2026  06:05:38 +0000 (0:00:21.643)       0:05:32.180 *********\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 91.87s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 80.42s\nvexxhost.containers.download_artifact : Download item ------------------ 21.64s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.04s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.00s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 5.65s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.27s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.25s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 4.98s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 4.96s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.22s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.08s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.85s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.95s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.94s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.86s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.85s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.84s\nvexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 1.72s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.68s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml\nERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                            "stdout_lines": [
                                "Using CPython 3.10.12 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading setuptools",
                                " Downloading cryptography",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 79 packages in 48ms",
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [csi > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [csi > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [csi > dependency] Executing",
                                "WARNING  [csi > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [csi > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [csi > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [csi > cleanup] Executing",
                                "WARNING  [csi > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [csi > destroy] Executing",
                                "WARNING  [csi > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [csi > destroy] Executed: Successful",
                                "INFO     [csi > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "INFO     [csi > syntax] Executed: Successful",
                                "INFO     [csi > create] Executing",
                                "WARNING  [csi > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [csi > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  05:59:34 +0000 (0:00:00.026)       0:00:00.026 *********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Tuesday 28 April 2026  05:59:35 +0000 (0:00:01.138)       0:00:01.164 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Tuesday 28 April 2026  05:59:36 +0000 (0:00:00.650)       0:00:01.815 *********",
                                "[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created",
                                "with a mode of 0700, this may cause issues when running as another user. To",
                                "avoid this, create the remote_tmp dir with the correct permissions manually",
                                "changed: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Tuesday 28 April 2026  05:59:36 +0000 (0:00:00.269)       0:00:02.085 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  05:59:37 +0000 (0:00:00.739)       0:00:02.825 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Tuesday 28 April 2026  05:59:38 +0000 (0:00:00.682)       0:00:03.507 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Tuesday 28 April 2026  05:59:57 +0000 (0:00:18.941)       0:00:22.449 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Tuesday 28 April 2026  05:59:57 +0000 (0:00:00.517)       0:00:22.966 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Tuesday 28 April 2026  05:59:57 +0000 (0:00:00.283)       0:00:23.250 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Tuesday 28 April 2026  05:59:58 +0000 (0:00:00.621)       0:00:23.872 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Tuesday 28 April 2026  05:59:58 +0000 (0:00:00.186)       0:00:24.058 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Tuesday 28 April 2026  05:59:58 +0000 (0:00:00.022)       0:00:24.081 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Tuesday 28 April 2026  05:59:59 +0000 (0:00:00.495)       0:00:24.576 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Tuesday 28 April 2026  05:59:59 +0000 (0:00:00.605)       0:00:25.182 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Tuesday 28 April 2026  06:00:00 +0000 (0:00:00.663)       0:00:25.846 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Tuesday 28 April 2026  06:00:03 +0000 (0:00:03.049)       0:00:28.896 *********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=15   changed=9    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Tuesday 28 April 2026  06:00:05 +0000 (0:00:01.798)       0:00:30.694 *********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 18.94s",
                                "Create a volume group for each loop device ------------------------------ 3.05s",
                                "Create a logical volume for each loop device ---------------------------- 1.80s",
                                "Gathering Facts --------------------------------------------------------- 1.14s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.74s",
                                "Gathering Facts --------------------------------------------------------- 0.68s",
                                "Start loop devices ------------------------------------------------------ 0.66s",
                                "Configure short hostname ------------------------------------------------ 0.65s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.62s",
                                "Set permissions on loopback devices ------------------------------------- 0.61s",
                                "Start up service -------------------------------------------------------- 0.52s",
                                "Create devices for Ceph ------------------------------------------------- 0.50s",
                                "Generate lvm.conf ------------------------------------------------------- 0.28s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.27s",
                                "Get list of all loopback devices ---------------------------------------- 0.19s",
                                "Fail if there is any existing loopback devices -------------------------- 0.02s",
                                "INFO     [csi > prepare] Executed: Successful",
                                "INFO     [csi > converge] Executing",
                                "",
                                "PLAY [Debug CSI driver value] **************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:00:06 +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] ***********************",
                                "Tuesday 28 April 2026  06:00:07 +0000 (0:00:00.915)       0:00:00.923 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"",
                                "}",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:00:07 +0000 (0:00:00.039)       0:00:00.962 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 28 April 2026  06:00:08 +0000 (0:00:00.859)       0:00:01.821 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:00:08 +0000 (0:00:00.190)       0:00:02.011 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:00:09 +0000 (0:00:00.852)       0:00:02.864 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:00:09 +0000 (0:00:00.263)       0:00:03.128 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 28 April 2026  06:00:09 +0000 (0:00:00.041)       0:00:03.170 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:00:10 +0000 (0:00:00.289)       0:00:03.459 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:00:10 +0000 (0:00:00.066)       0:00:03.526 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:00:10 +0000 (0:00:00.751)       0:00:04.277 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:00:11 +0000 (0:00:00.050)       0:00:04.328 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:00:11 +0000 (0:00:00.049)       0:00:04.377 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:00:11 +0000 (0:00:00.200)       0:00:04.578 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:00:12 +0000 (0:00:01.131)       0:00:05.709 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:00:12 +0000 (0:00:00.080)       0:00:05.789 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:00:13 +0000 (0:00:00.936)       0:00:06.725 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 28 April 2026  06:00:16 +0000 (0:00:02.847)       0:00:09.573 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 28 April 2026  06:00:16 +0000 (0:00:00.031)       0:00:09.605 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 28 April 2026  06:00:16 +0000 (0:00:00.038)       0:00:09.643 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 28 April 2026  06:00:16 +0000 (0:00:00.033)       0:00:09.677 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 28 April 2026  06:00:21 +0000 (0:00:04.978)       0:00:14.656 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 28 April 2026  06:00:21 +0000 (0:00:00.559)       0:00:15.216 *********",
                                "changed: [instance] => (item={'path': '/etc/containerd'})",
                                "changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 28 April 2026  06:00:22 +0000 (0:00:00.896)       0:00:16.112 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 28 April 2026  06:00:23 +0000 (0:00:00.533)       0:00:16.645 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 28 April 2026  06:00:23 +0000 (0:00:00.016)       0:00:16.662 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Tuesday 28 April 2026  06:00:24 +0000 (0:00:00.889)       0:00:17.552 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 28 April 2026  06:00:24 +0000 (0:00:00.437)       0:00:17.989 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:00:25 +0000 (0:00:00.527)       0:00:18.517 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:00:25 +0000 (0:00:00.195)       0:00:18.713 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:00:25 +0000 (0:00:00.052)       0:00:18.765 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:00:26 +0000 (0:00:01.029)       0:00:19.795 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 28 April 2026  06:00:30 +0000 (0:00:04.215)       0:00:24.010 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 28 April 2026  06:00:31 +0000 (0:00:00.941)       0:00:24.951 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 28 April 2026  06:00:31 +0000 (0:00:00.329)       0:00:25.281 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 28 April 2026  06:00:32 +0000 (0:00:00.462)       0:00:25.744 *********",
                                "changed: [instance] => (item={'path': '/etc/docker'})",
                                "changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Tuesday 28 April 2026  06:00:32 +0000 (0:00:00.549)       0:00:26.293 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 28 April 2026  06:00:33 +0000 (0:00:00.435)       0:00:26.729 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 28 April 2026  06:00:33 +0000 (0:00:00.443)       0:00:27.173 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 28 April 2026  06:00:33 +0000 (0:00:00.017)       0:00:27.190 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Tuesday 28 April 2026  06:00:34 +0000 (0:00:00.698)       0:00:27.889 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 28 April 2026  06:00:35 +0000 (0:00:00.825)       0:00:28.714 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 28 April 2026  06:00:35 +0000 (0:00:00.541)       0:00:29.256 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Tuesday 28 April 2026  06:00:36 +0000 (0:00:00.053)       0:00:29.309 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 28 April 2026  06:00:40 +0000 (0:00:04.961)       0:00:34.270 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 28 April 2026  06:00:41 +0000 (0:00:00.640)       0:00:34.911 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 28 April 2026  06:00:42 +0000 (0:00:00.953)       0:00:35.865 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 28 April 2026  06:00:42 +0000 (0:00:00.203)       0:00:36.068 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 28 April 2026  06:00:43 +0000 (0:00:00.437)       0:00:36.506 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Tuesday 28 April 2026  06:00:43 +0000 (0:00:00.313)       0:00:36.819 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:01.584)       0:00:38.403 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.046)       0:00:38.449 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.035)       0:00:38.485 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.038)       0:00:38.523 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.039)       0:00:38.563 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.037)       0:00:38.601 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.041)       0:00:38.642 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.035)       0:00:38.677 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.033)       0:00:38.711 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.108)       0:00:38.820 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.203)       0:00:39.023 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.050)       0:00:39.074 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************",
                                "Tuesday 28 April 2026  06:00:45 +0000 (0:00:00.069)       0:00:39.143 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Tuesday 28 April 2026  06:00:46 +0000 (0:00:00.289)       0:00:39.433 *********",
                                "changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})",
                                "changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})",
                                "changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})",
                                "",
                                "TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************",
                                "Tuesday 28 April 2026  06:00:46 +0000 (0:00:00.670)       0:00:40.103 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Tuesday 28 April 2026  06:02:18 +0000 (0:01:31.868)       0:02:11.971 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Tuesday 28 April 2026  06:02:18 +0000 (0:00:00.199)       0:02:12.171 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 28 April 2026  06:02:18 +0000 (0:00:00.048)       0:02:12.220 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 28 April 2026  06:02:19 +0000 (0:00:00.090)       0:02:12.310 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 28 April 2026  06:02:20 +0000 (0:00:01.373)       0:02:13.683 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 28 April 2026  06:02:20 +0000 (0:00:00.060)       0:02:13.744 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 28 April 2026  06:02:20 +0000 (0:00:00.357)       0:02:14.101 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Tuesday 28 April 2026  06:02:22 +0000 (0:00:01.840)       0:02:15.942 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Tuesday 28 April 2026  06:02:24 +0000 (0:00:01.459)       0:02:17.401 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 28 April 2026  06:02:35 +0000 (0:00:11.040)       0:02:28.441 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 28 April 2026  06:02:35 +0000 (0:00:00.084)       0:02:28.526 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 28 April 2026  06:02:35 +0000 (0:00:00.058)       0:02:28.585 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 28 April 2026  06:02:35 +0000 (0:00:00.056)       0:02:28.641 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 28 April 2026  06:02:35 +0000 (0:00:00.262)       0:02:28.904 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Tuesday 28 April 2026  06:02:37 +0000 (0:00:01.856)       0:02:30.761 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Tuesday 28 April 2026  06:02:38 +0000 (0:00:01.393)       0:02:32.155 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Tuesday 28 April 2026  06:02:40 +0000 (0:00:01.381)       0:02:33.536 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:02:41 +0000 (0:00:01.718)       0:02:35.255 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:02:42 +0000 (0:00:00.927)       0:02:36.182 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.207)       0:02:36.389 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.043)       0:02:36.433 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.208)       0:02:36.642 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.054)       0:02:36.696 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.302)       0:02:36.999 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.048)       0:02:37.048 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.043)       0:02:37.091 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:02:43 +0000 (0:00:00.207)       0:02:37.299 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:02:44 +0000 (0:00:01.006)       0:02:38.305 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:02:45 +0000 (0:00:00.065)       0:02:38.370 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:02:45 +0000 (0:00:00.325)       0:02:38.696 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 28 April 2026  06:02:47 +0000 (0:00:01.944)       0:02:40.641 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 28 April 2026  06:02:47 +0000 (0:00:00.036)       0:02:40.677 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 28 April 2026  06:02:47 +0000 (0:00:00.035)       0:02:40.713 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 28 April 2026  06:02:47 +0000 (0:00:00.032)       0:02:40.745 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 28 April 2026  06:02:48 +0000 (0:00:00.994)       0:02:41.740 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 28 April 2026  06:02:48 +0000 (0:00:00.422)       0:02:42.162 *********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 28 April 2026  06:02:49 +0000 (0:00:00.891)       0:02:43.053 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 28 April 2026  06:02:50 +0000 (0:00:00.486)       0:02:43.540 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 28 April 2026  06:02:50 +0000 (0:00:00.014)       0:02:43.555 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:02:50 +0000 (0:00:00.343)       0:02:43.899 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:02:50 +0000 (0:00:00.192)       0:02:44.092 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:02:50 +0000 (0:00:00.053)       0:02:44.146 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:02:51 +0000 (0:00:00.337)       0:02:44.483 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 28 April 2026  06:02:54 +0000 (0:00:03.081)       0:02:47.564 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 28 April 2026  06:02:55 +0000 (0:00:01.012)       0:02:48.577 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 28 April 2026  06:02:55 +0000 (0:00:00.201)       0:02:48.778 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 28 April 2026  06:02:55 +0000 (0:00:00.399)       0:02:49.178 *********",
                                "ok: [instance] => (item={'path': '/etc/docker'})",
                                "ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Tuesday 28 April 2026  06:02:56 +0000 (0:00:00.550)       0:02:49.728 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 28 April 2026  06:02:56 +0000 (0:00:00.429)       0:02:50.158 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 28 April 2026  06:02:57 +0000 (0:00:00.424)       0:02:50.582 *********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 28 April 2026  06:02:57 +0000 (0:00:00.017)       0:02:50.600 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 28 April 2026  06:02:57 +0000 (0:00:00.387)       0:02:50.987 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Tuesday 28 April 2026  06:02:57 +0000 (0:00:00.056)       0:02:51.044 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 28 April 2026  06:02:58 +0000 (0:00:01.043)       0:02:52.088 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 28 April 2026  06:02:59 +0000 (0:00:00.646)       0:02:52.734 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 28 April 2026  06:02:59 +0000 (0:00:00.342)       0:02:53.077 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 28 April 2026  06:02:59 +0000 (0:00:00.191)       0:02:53.268 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 28 April 2026  06:03:00 +0000 (0:00:00.232)       0:02:53.501 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Tuesday 28 April 2026  06:03:00 +0000 (0:00:00.210)       0:02:53.711 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Tuesday 28 April 2026  06:03:00 +0000 (0:00:00.233)       0:02:53.945 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Tuesday 28 April 2026  06:03:00 +0000 (0:00:00.047)       0:02:53.993 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 28 April 2026  06:03:05 +0000 (0:00:05.271)       0:02:59.264 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 28 April 2026  06:03:06 +0000 (0:00:00.049)       0:02:59.313 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 28 April 2026  06:03:06 +0000 (0:00:00.062)       0:02:59.375 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 28 April 2026  06:03:06 +0000 (0:00:00.040)       0:02:59.416 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 28 April 2026  06:03:06 +0000 (0:00:00.043)       0:02:59.459 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 28 April 2026  06:03:06 +0000 (0:00:00.248)       0:02:59.707 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Tuesday 28 April 2026  06:03:08 +0000 (0:00:01.683)       0:03:01.391 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Tuesday 28 April 2026  06:03:08 +0000 (0:00:00.028)       0:03:01.419 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Tuesday 28 April 2026  06:03:08 +0000 (0:00:00.026)       0:03:01.446 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Tuesday 28 April 2026  06:03:13 +0000 (0:00:05.251)       0:03:06.698 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Tuesday 28 April 2026  06:03:23 +0000 (0:00:10.002)       0:03:16.700 *********",
                                "ok: [instance] => (item=/dev/ceph-instance-osd0/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd1/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd2/data)",
                                "",
                                "TASK [vexxhost.ceph.osd : Get mon dump] ****************************************",
                                "Tuesday 28 April 2026  06:04:43 +0000 (0:01:20.415)       0:04:37.116 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Tuesday 28 April 2026  06:04:45 +0000 (0:00:01.854)       0:04:38.970 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Tuesday 28 April 2026  06:04:47 +0000 (0:00:01.611)       0:04:40.581 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Tuesday 28 April 2026  06:04:47 +0000 (0:00:00.060)       0:04:40.642 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Tuesday 28 April 2026  06:04:47 +0000 (0:00:00.054)       0:04:40.696 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Tuesday 28 April 2026  06:04:48 +0000 (0:00:01.406)       0:04:42.103 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Tuesday 28 April 2026  06:04:48 +0000 (0:00:00.043)       0:04:42.146 *********",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Tuesday 28 April 2026  06:04:48 +0000 (0:00:00.051)       0:04:42.198 *********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Tuesday 28 April 2026  06:04:48 +0000 (0:00:00.039)       0:04:42.237 *********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:04:49 +0000 (0:00:00.346)       0:04:42.584 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Tuesday 28 April 2026  06:04:50 +0000 (0:00:00.926)       0:04:43.510 *********",
                                "changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})",
                                "changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})",
                                "changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***",
                                "Tuesday 28 April 2026  06:04:55 +0000 (0:00:05.647)       0:04:49.158 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Tuesday 28 April 2026  06:04:56 +0000 (0:00:00.195)       0:04:49.353 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Tuesday 28 April 2026  06:04:56 +0000 (0:00:00.444)       0:04:49.798 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 28 April 2026  06:04:56 +0000 (0:00:00.251)       0:04:50.049 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:04:56 +0000 (0:00:00.053)       0:04:50.103 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Tuesday 28 April 2026  06:04:57 +0000 (0:00:00.884)       0:04:50.987 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Tuesday 28 April 2026  06:04:57 +0000 (0:00:00.231)       0:04:51.219 *********",
                                "ok: [instance] => (item=/etc/keepalived/keepalived.conf)",
                                "ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "ok: [instance] => (item=/etc/haproxy/haproxy.cfg)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "Tuesday 28 April 2026  06:04:58 +0000 (0:00:00.956)       0:04:52.176 *********",
                                "failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}",
                                "failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}",
                                "failed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********",
                                "Tuesday 28 April 2026  06:04:59 +0000 (0:00:00.479)       0:04:52.655 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Tuesday 28 April 2026  06:04:59 +0000 (0:00:00.188)       0:04:52.844 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Tuesday 28 April 2026  06:04:59 +0000 (0:00:00.195)       0:04:53.040 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Tuesday 28 April 2026  06:04:59 +0000 (0:00:00.031)       0:04:53.071 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Tuesday 28 April 2026  06:04:59 +0000 (0:00:00.036)       0:04:53.107 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Tuesday 28 April 2026  06:05:00 +0000 (0:00:00.503)       0:04:53.611 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Tuesday 28 April 2026  06:05:00 +0000 (0:00:00.187)       0:04:53.798 *********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 28 April 2026  06:05:00 +0000 (0:00:00.059)       0:04:53.858 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:05:01 +0000 (0:00:00.871)       0:04:54.729 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:05:01 +0000 (0:00:00.198)       0:04:54.927 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 28 April 2026  06:05:01 +0000 (0:00:00.036)       0:04:54.964 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:05:01 +0000 (0:00:00.192)       0:04:55.157 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:05:01 +0000 (0:00:00.052)       0:04:55.209 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:05:02 +0000 (0:00:00.291)       0:04:55.500 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:05:02 +0000 (0:00:00.042)       0:04:55.543 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 28 April 2026  06:05:02 +0000 (0:00:00.193)       0:04:55.737 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:05:03 +0000 (0:00:00.972)       0:04:56.709 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:05:03 +0000 (0:00:00.057)       0:04:56.767 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:05:03 +0000 (0:00:00.345)       0:04:57.112 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 28 April 2026  06:05:05 +0000 (0:00:01.952)       0:04:59.065 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 28 April 2026  06:05:05 +0000 (0:00:00.032)       0:04:59.098 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 28 April 2026  06:05:05 +0000 (0:00:00.032)       0:04:59.130 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 28 April 2026  06:05:05 +0000 (0:00:00.029)       0:04:59.160 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 28 April 2026  06:05:06 +0000 (0:00:00.976)       0:05:00.137 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 28 April 2026  06:05:07 +0000 (0:00:00.410)       0:05:00.547 *********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 28 April 2026  06:05:08 +0000 (0:00:00.882)       0:05:01.430 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 28 April 2026  06:05:08 +0000 (0:00:00.513)       0:05:01.943 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 28 April 2026  06:05:08 +0000 (0:00:00.007)       0:05:01.950 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Tuesday 28 April 2026  06:05:08 +0000 (0:00:00.356)       0:05:02.307 *********",
                                "fatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.526)       0:05:02.833 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.037)       0:05:02.870 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.024)       0:05:02.895 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.032)       0:05:02.928 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.029)       0:05:02.957 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.039)       0:05:02.996 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.201)       0:05:03.197 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:05:09 +0000 (0:00:00.040)       0:05:03.238 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:05:10 +0000 (0:00:00.728)       0:05:03.966 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:05:10 +0000 (0:00:00.043)       0:05:04.010 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:05:10 +0000 (0:00:00.200)       0:05:04.211 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:05:10 +0000 (0:00:00.045)       0:05:04.256 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:05:11 +0000 (0:00:00.754)       0:05:05.011 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 28 April 2026  06:05:11 +0000 (0:00:00.057)       0:05:05.068 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 28 April 2026  06:05:11 +0000 (0:00:00.033)       0:05:05.102 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 28 April 2026  06:05:11 +0000 (0:00:00.034)       0:05:05.136 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 28 April 2026  06:05:11 +0000 (0:00:00.036)       0:05:05.173 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 28 April 2026  06:05:12 +0000 (0:00:00.995)       0:05:06.168 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 28 April 2026  06:05:13 +0000 (0:00:00.417)       0:05:06.586 *********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 28 April 2026  06:05:14 +0000 (0:00:00.890)       0:05:07.476 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 28 April 2026  06:05:14 +0000 (0:00:00.513)       0:05:07.989 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 28 April 2026  06:05:14 +0000 (0:00:00.007)       0:05:07.996 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 28 April 2026  06:05:15 +0000 (0:00:00.324)       0:05:08.320 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:05:15 +0000 (0:00:00.191)       0:05:08.512 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:05:15 +0000 (0:00:00.049)       0:05:08.562 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 28 April 2026  06:05:15 +0000 (0:00:00.571)       0:05:09.133 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 28 April 2026  06:05:17 +0000 (0:00:01.351)       0:05:10.484 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 28 April 2026  06:05:17 +0000 (0:00:00.051)       0:05:10.536 *********",
                                "fatal: [instance]: FAILED! => {\"attempts\": 4, \"censored\": \"the output has been hidden due to the fact that 'no_log: true' was specified for this result\", \"changed\": false}",
                                "FAILED - RETRYING: [instance]: Download item (4 retries left).",
                                "FAILED - RETRYING: [instance]: Download item (3 retries left).",
                                "FAILED - RETRYING: [instance]: Download item (2 retries left).",
                                "FAILED - RETRYING: [instance]: Download item (1 retries left).",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=163  changed=35   unreachable=0    failed=1    skipped=42   rescued=0    ignored=2",
                                "",
                                "Tuesday 28 April 2026  06:05:38 +0000 (0:00:21.643)       0:05:32.180 *********",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 91.87s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 80.42s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 21.64s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.04s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.00s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 5.65s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.27s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.25s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 4.98s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 4.96s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.22s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.08s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.85s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.95s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.94s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.86s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.85s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.84s",
                                "vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 1.72s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.68s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "ERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0011-8054-aa6d-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:39.184424Z",
                            "start": "2026-04-28T05:58:52.012632Z"
                        },
                        "id": "0242ac17-0011-8054-aa6d-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2024.2",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-28T06:05:53.385071Z",
                    "start": "2026-04-28T06:05:43.318902Z"
                },
                "id": "0242ac17-0011-f9ac-a948-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:43.684887Z",
                            "start": "2026-04-28T06:05:43.334112Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.101318",
                            "end": "2026-04-28 06:05:44.113442",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:44.012124",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:44.227599Z",
                            "start": "2026-04-28T06:05:43.710485Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/tmp/logs/system /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.233:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs/instance\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:44.855370Z",
                            "start": "2026-04-28T06:05:44.235404Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:45.240096Z",
                            "start": "2026-04-28T06:05:44.866987Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.068545",
                            "end": "2026-04-28 06:05:45.529440",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:45.460895",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0428 06:05:45.519279   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:45.520344   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:45.521949   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:45.522556   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:45.524156   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0428 06:05:45.519279   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:45.520344   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:45.521949   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:45.522556   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:45.524156   35760 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:45.789502Z",
                            "start": "2026-04-28T06:05:45.269311Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/tmp/logs/helm /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.233:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:46.269616Z",
                            "start": "2026-04-28T06:05:45.795781Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:46.472687Z",
                            "start": "2026-04-28T06:05:46.281410Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.208998",
                            "end": "2026-04-28 06:05:46.896986",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:46.687988",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0428 06:05:46.752645   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.753004   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.753438   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.753597   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.754866   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.755521   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.756142   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.756995   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.757830   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0428 06:05:46.758588   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0428 06:05:46.816656   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.817209   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.817201   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.817740   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.819581   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.820320   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.820439   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.820939   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.821947   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0428 06:05:46.822900   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0428 06:05:46.886375   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.887378   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.889262   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.890181   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:46.891824   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0428 06:05:46.752645   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.753004   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.753438   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.753597   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.754866   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.755521   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.756142   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.756995   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.757830   35813 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0428 06:05:46.758588   35810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0428 06:05:46.816656   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.817209   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.817201   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.817740   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.819581   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.820320   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.820439   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.820939   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.821947   35836 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0428 06:05:46.822900   35839 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0428 06:05:46.886375   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.887378   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.889262   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.890181   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:46.891824   35859 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:47.014806Z",
                            "start": "2026-04-28T06:05:46.496733Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:47.224816Z",
                            "start": "2026-04-28T06:05:47.020751Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.071558",
                            "end": "2026-04-28 06:05:47.524025",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:47.452467",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nE0428 06:05:47.515633   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:47.516449   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:47.517568   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:47.518185   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:47.519817   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "E0428 06:05:47.515633   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:47.516449   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:47.517568   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:47.518185   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:47.519817   35890 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:47.795858Z",
                            "start": "2026-04-28T06:05:47.278350Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/tmp/logs/objects /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.233:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:48.314378Z",
                            "start": "2026-04-28T06:05:47.801894Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:48.520839Z",
                            "start": "2026-04-28T06:05:48.324783Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:48.724762Z",
                            "start": "2026-04-28T06:05:48.525355Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.066235",
                            "end": "2026-04-28 06:05:49.020793",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:48.954558",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0428 06:05:49.010011   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:49.010923   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:49.012841   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:49.013557   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:49.015393   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0428 06:05:49.010011   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:49.010923   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:49.012841   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:49.013557   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:49.015393   35940 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:49.264322Z",
                            "start": "2026-04-28T06:05:48.750762Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/tmp/logs/pod-logs /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.233:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:49.810220Z",
                            "start": "2026-04-28T06:05:49.270958Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:50.018759Z",
                            "start": "2026-04-28T06:05:49.821840Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.067435",
                            "end": "2026-04-28 06:05:50.294193",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:50.226758",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0428 06:05:50.283782   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.284670   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.287638   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.288206   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.289799   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0428 06:05:50.283782   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.284670   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.287638   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.288206   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.289799   35985 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:50.561770Z",
                            "start": "2026-04-28T06:05:50.044881Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.062889",
                            "end": "2026-04-28 06:05:50.822880",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:50.759991",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0428 06:05:50.813838   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.814561   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.816515   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.817208   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:50.818982   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "E0428 06:05:50.813838   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.814561   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.816515   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.817208   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:50.818982   36023 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:51.105228Z",
                            "start": "2026-04-28T06:05:50.587734Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.061032",
                            "end": "2026-04-28 06:05:51.375018",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-28 06:05:51.313986",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0428 06:05:51.366820   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:51.367627   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:51.369171   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:51.369543   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0428 06:05:51.371021   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0428 06:05:51.366820   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:51.367627   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:51.369171   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:51.369543   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0428 06:05:51.371021   36046 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:51.644858Z",
                            "start": "2026-04-28T06:05:51.128193Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/tmp/logs/prometheus /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.233:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:52.129382Z",
                            "start": "2026-04-28T06:05:51.650863Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:52.338982Z",
                            "start": "2026-04-28T06:05:52.142557Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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.007056",
                            "end": "2026-04-28 06:05:52.562312",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-28 06:05:52.555256",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0011-f9ac-a948-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:52.886410Z",
                            "start": "2026-04-28T06:05:52.369295Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/tmp/logs/selenium /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.233:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f9ac-a948-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:53.385071Z",
                            "start": "2026-04-28T06:05:52.893804Z"
                        },
                        "id": "0242ac17-0011-f9ac-a948-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-04-28T06:05:57.426628Z",
                    "start": "2026-04-28T06:05:54.136298Z"
                },
                "id": "0242ac17-0011-6c02-8876-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6c02-8876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:54.182864Z",
                            "start": "2026-04-28T06:05:54.147868Z"
                        },
                        "id": "0242ac17-0011-6c02-8876-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6c02-8876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:54.226169Z",
                            "start": "2026-04-28T06:05:54.187706Z"
                        },
                        "id": "0242ac17-0011-6c02-8876-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/4df78888cd1441b29369855e35a7737e/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6c02-8876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:55.016767Z",
                            "start": "2026-04-28T06:05:54.230472Z"
                        },
                        "id": "0242ac17-0011-6c02-8876-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.233:/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/4df78888cd1441b29369855e35a7737e/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.233:/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/4df78888cd1441b29369855e35a7737e/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.233:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.233:/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/4df78888cd1441b29369855e35a7737e/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6c02-8876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:56.549307Z",
                            "start": "2026-04-28T06:05:55.025716Z"
                        },
                        "id": "0242ac17-0011-6c02-8876-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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/artifacts/* /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007864",
                                    "end": "2026-04-28 06:05:57.136366",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/artifacts/* /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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-04-28 06:05:57.128502",
                                    "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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/docs/* /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007901",
                                    "end": "2026-04-28 06:05:57.362821",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/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/4df78888cd1441b29369855e35a7737e/work/docs/* /var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/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-04-28 06:05:57.354920",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6c02-8876-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:57.426628Z",
                            "start": "2026-04-28T06:05:56.770496Z"
                        },
                        "id": "0242ac17-0011-6c02-8876-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-28T06:05:57.969025Z",
                    "start": "2026-04-28T06:05:57.436777Z"
                },
                "id": "0242ac17-0011-6c02-8876-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDZqgpnhRd+sS35/GA63eVcPIMiV2TfMVas6ZCPlOEumA0+JexrxneIxOYHCpBk/bC8Mgkzescf6/ED1lVFjNJsIMr49pI7zvMaRPRIX2hfhefySHZUnMHy/ln7X1LsK+K70tirMa6llIlnb4hA7YFxv8/EV9vVnUFjCSLtxL08lLn5floJuSU14YKsCutM+LLyPJsGnoU2FG7OARDm2rwnp9dyPoMI0hFV3vehEerlYZOYlr++Uau8J06SlBEAInFjj3f2kXLD45e88XRo2/DCfE9BXX9KZvutiYwvaKq0fweZkK9KNiqYERPLVBlHQd/Tmlq5JclbTm321mtvkIy0nn0S7aJqh6OECKp/j66ppICaQBTu2Yvj3pjHwW4uSwm0xE1d8TO/TkAVppMFaIfdkv9/GjlmV+r5m/y36w52tD0jFb8TKQ5shuy/u4ZbOLDllK3n2SmBH2foHrY/Vm8FshpW8HYb4RNdDIqYoJgGvFnSyTWRhz0McySNPjkhaJU= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDZqgpnhRd+sS35/GA63eVcPIMiV2TfMVas6ZCPlOEumA0+JexrxneIxOYHCpBk/bC8Mgkzescf6/ED1lVFjNJsIMr49pI7zvMaRPRIX2hfhefySHZUnMHy/ln7X1LsK+K70tirMa6llIlnb4hA7YFxv8/EV9vVnUFjCSLtxL08lLn5floJuSU14YKsCutM+LLyPJsGnoU2FG7OARDm2rwnp9dyPoMI0hFV3vehEerlYZOYlr++Uau8J06SlBEAInFjj3f2kXLD45e88XRo2/DCfE9BXX9KZvutiYwvaKq0fweZkK9KNiqYERPLVBlHQd/Tmlq5JclbTm321mtvkIy0nn0S7aJqh6OECKp/j66ppICaQBTu2Yvj3pjHwW4uSwm0xE1d8TO/TkAVppMFaIfdkv9/GjlmV+r5m/y36w52tD0jFb8TKQ5shuy/u4ZbOLDllK3n2SmBH2foHrY/Vm8FshpW8HYb4RNdDIqYoJgGvFnSyTWRhz0McySNPjkhaJU= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6c02-8876-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/4df78888cd1441b29369855e35a7737e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-28T06:05:57.969025Z",
                            "start": "2026-04-28T06:05:57.445005Z"
                        },
                        "id": "0242ac17-0011-6c02-8876-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
}
]
