[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-25T16:22:38.660486Z",
                    "start": "2026-02-25T16:22:36.056341Z"
                },
                "id": "0242ac17-0011-f71b-78d3-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-02-25",
                                    "day": "25",
                                    "epoch": "1772036556",
                                    "epoch_int": "1772036556",
                                    "hour": "16",
                                    "iso8601": "2026-02-25T16:22:36Z",
                                    "iso8601_basic": "20260225T162236727566",
                                    "iso8601_basic_short": "20260225T162236",
                                    "iso8601_micro": "2026-02-25T16:22:36.727566Z",
                                    "minute": "22",
                                    "month": "02",
                                    "second": "36",
                                    "time": "16:22:36",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Wednesday",
                                    "weekday_number": "3",
                                    "weeknumber": "08",
                                    "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/ff19235a1e664380a014c8aa0719784c/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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": "1066005",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-bEYmDTHkTrs0/agent.1066004",
                                    "TMP": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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": 0.91943359375,
                                    "1m": 1.8974609375,
                                    "5m": 1.1728515625
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 5593,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 19292,
                                        "used": 12798
                                    },
                                    "real": {
                                        "free": 5593,
                                        "total": 32090,
                                        "used": 26497
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 230771829,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 33168888,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 65500728,
                                        "inode_total": 67108864,
                                        "inode_used": 1608136,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 945241411584,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9183364,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31418216,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758569,
                                        "inode_total": 20643840,
                                        "inode_used": 3885271,
                                        "mount": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 37615058944,
                                        "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": 35700286,
                                "ansible_user_dir": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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-02-25T16:22:37.047591Z",
                            "start": "2026-02-25T16:22:36.068206Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:37.074205Z",
                            "start": "2026-02-25T16:22:37.051711Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "ff1/oss/ff19235a1e664380a014c8aa0719784c"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:37.118877Z",
                            "start": "2026-02-25T16:22:37.087613Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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/3443\nEvent ID: 0ae9ba90-1266-11f1-88f9-81f53d2ab82b\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:37.172707Z",
                            "start": "2026-02-25T16:22:37.127418Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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: np0000156975\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.74\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:37.285288Z",
                            "start": "2026-02-25T16:22:37.177068Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:37.727094Z",
                            "start": "2026-02-25T16:22:37.292851Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "33bae7d3ac88d506b9be28dec325646f72cf86f9",
                            "dest": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "33bae7d3ac88d506b9be28dec325646f72cf86f9",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/.ansible/tmp/ansible-tmp-1772036557.7653322-84-172538181443401/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1d8f603c050501e288e881c031766fd4",
                            "mode": "0644",
                            "owner": "root",
                            "size": 15805,
                            "src": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/.ansible/tmp/ansible-tmp-1772036557.7653322-84-172538181443401/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:38.660486Z",
                            "start": "2026-02-25T16:22:37.734578Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-02-25T16:22:46.113356Z",
                    "start": "2026-02-25T16:22:38.666281Z"
                },
                "id": "0242ac17-0011-f71b-78d3-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/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:38.901870Z",
                            "start": "2026-02-25T16:22:38.674747Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:38.942009Z",
                            "start": "2026-02-25T16:22:38.911023Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.788182",
                            "end": "2026-02-25 16:22:40.134313",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_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-f71b-78d3-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:22:39.346131",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa.pub\nThe key fingerprint is:\nSHA256:nxXbMmX4Zw37SEb/zoWc0h49z6DtY0/XPHKDhUEL4YM zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|           o..   |\n|          o o..  |\n|         E ooo=  |\n|            .Oo+.|\n|        S   =.*.=|\n|         . o BoXo|\n|          o .oO=X|\n|             ==BB|\n|            .o+o*|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:nxXbMmX4Zw37SEb/zoWc0h49z6DtY0/XPHKDhUEL4YM zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|           o..   |",
                                "|          o o..  |",
                                "|         E ooo=  |",
                                "|            .Oo+.|",
                                "|        S   =.*.=|",
                                "|         . o BoXo|",
                                "|          o .oO=X|",
                                "|             ==BB|",
                                "|            .o+o*|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-f71b-78d3-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:40.184744Z",
                            "start": "2026-02-25T16:22:38.962945Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:40.225769Z",
                            "start": "2026-02-25T16:22:40.191498Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:40.265925Z",
                            "start": "2026-02-25T16:22:40.241709Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDLAcclpp30uwz9py0ayucw/q6c3QVrDO/zeT4gB53GZHVlFw/HdgdZt0u0GX+HPso8KGEvteA4XyWUsyhfER5a8L+P3Jlv+MFLq0efMgXhAuvCMviMVbuwNZ5IH0BTYfOL107qA8zVumNeW3chMXYuLUCNdN3KBNxS+GM5eDdwR5UQVHrg7eHwRT7x6s5PB1AYz8RQFaFNKV2z2PqAv0qNjfgHAVfWkdTZYLZZDCFBnWIBFPlH0Snoiay74vL84KXVUnCdIJlaGrxGI4TmQ1aFER229Cnv20JpoRkn14HMWgpeEa1G+Mbb1n9EauW0Ng6/gqx0j31NArEBTEkC38l4oIc5MX845gcQ8jlbXKzlc3y27ovWbipnjqpY7U8TvcppJkliLjPaYZxiPevjWQdvOEEQg6cU9oCbjBmXI7IWZB9cF0xPR9kyQn5sGuw6o71kfQlAlaJMdZsVWNP5GizBlUXr8Sz9nvPIsQowzdbEp/QqcYojoktSpzpTCDe8sm0= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDLAcclpp30uwz9py0ayucw/q6c3QVrDO/zeT4gB53GZHVlFw/HdgdZt0u0GX+HPso8KGEvteA4XyWUsyhfER5a8L+P3Jlv+MFLq0efMgXhAuvCMviMVbuwNZ5IH0BTYfOL107qA8zVumNeW3chMXYuLUCNdN3KBNxS+GM5eDdwR5UQVHrg7eHwRT7x6s5PB1AYz8RQFaFNKV2z2PqAv0qNjfgHAVfWkdTZYLZZDCFBnWIBFPlH0Snoiay74vL84KXVUnCdIJlaGrxGI4TmQ1aFER229Cnv20JpoRkn14HMWgpeEa1G+Mbb1n9EauW0Ng6/gqx0j31NArEBTEkC38l4oIc5MX845gcQ8jlbXKzlc3y27ovWbipnjqpY7U8TvcppJkliLjPaYZxiPevjWQdvOEEQg6cU9oCbjBmXI7IWZB9cF0xPR9kyQn5sGuw6o71kfQlAlaJMdZsVWNP5GizBlUXr8Sz9nvPIsQowzdbEp/QqcYojoktSpzpTCDe8sm0= 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-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:40.735581Z",
                            "start": "2026-02-25T16:22:40.276328Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:40.931995Z",
                            "start": "2026-02-25T16:22:40.741742Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "108f348eb600523b9eff2a71a1a408f21f24a872",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "ff19235a1e664380a014c8aa0719784c_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "108f348eb600523b9eff2a71a1a408f21f24a872",
                                    "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-1772036560.9807434-190-98171449816151/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "65a8fb3565c30130db81dca144cad21c",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772036560.9807434-190-98171449816151/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:41.439276Z",
                            "start": "2026-02-25T16:22:40.939261Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "970eef2583e38e8ecc06f39122345e22f9f8a963",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "ff19235a1e664380a014c8aa0719784c_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "970eef2583e38e8ecc06f39122345e22f9f8a963",
                                    "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-1772036561.4985626-200-254004519003016/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "9623c5e4b9fed99217391cc07717d7de",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772036561.4985626-200-254004519003016/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:41.939607Z",
                            "start": "2026-02-25T16:22:41.448747Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:41.970339Z",
                            "start": "2026-02-25T16:22:41.944338Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:42.361491Z",
                            "start": "2026-02-25T16:22:41.981452Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa"
                            ],
                            "delta": "0:00:00.014471",
                            "end": "2026-02-25 16:22:42.608228",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_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-f71b-78d3-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:22:42.593757",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/ff19235a1e664380a014c8aa0719784c_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-f71b-78d3-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:42.654410Z",
                            "start": "2026-02-25T16:22:42.371260Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:42.962439Z",
                            "start": "2026-02-25T16:22:42.662269Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:42.992225Z",
                            "start": "2026-02-25T16:22:42.966889Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:43.344533Z",
                            "start": "2026-02-25T16:22:43.007868Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:45.053420Z",
                            "start": "2026-02-25T16:22:43.354705Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:45.586152Z",
                            "start": "2026-02-25T16:22:45.064212Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-f71b-78d3-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:46.113356Z",
                            "start": "2026-02-25T16:22:45.595692Z"
                        },
                        "id": "0242ac17-0011-f71b-78d3-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-02-25T16:22:49.988139Z",
                    "start": "2026-02-25T16:22:46.975000Z"
                },
                "id": "0242ac17-0011-a04e-4265-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-1772036567.028358-5-45531844804712/uv-x86_64-unknown-linux-gnubh0o03tc.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-1772036567.028358-5-45531844804712/uv-x86_64-unknown-linux-gnubh0o03tc.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a04e-4265-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:49.422964Z",
                            "start": "2026-02-25T16:22:46.987093Z"
                        },
                        "id": "0242ac17-0011-a04e-4265-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.011403",
                            "end": "2026-02-25 16:22:49.830662",
                            "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-a04e-4265-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:22:49.819259",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-a04e-4265-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a04e-4265-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:22:49.988139Z",
                            "start": "2026-02-25T16:22:49.468484Z"
                        },
                        "id": "0242ac17-0011-a04e-4265-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-25T16:23:01.290804Z",
                    "start": "2026-02-25T16:22:50.861637Z"
                },
                "id": "0242ac17-0011-b9d8-80df-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1772036576,
                            "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 10 not upgraded.\nNeed to get 357 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]\nFetched 357 kB in 0s (912 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 ... 30907 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.1) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSetting up jq (1.6-2.1ubuntu3.1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 10 not upgraded.",
                                "Need to get 357 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]",
                                "Fetched 357 kB in 0s (912 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 ... 30907 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.1) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Setting up jq (1.6-2.1ubuntu3.1) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:23:01.290804Z",
                            "start": "2026-02-25T16:22:50.873261Z"
                        },
                        "id": "0242ac17-0011-b9d8-80df-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-02-25T16:30:30.937807Z",
                    "start": "2026-02-25T16:23:02.006362Z"
                },
                "id": "0242ac17-0011-60d5-fdac-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "33bae7d3ac88d506b9be28dec325646f72cf86f9",
                            "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": "33bae7d3ac88d506b9be28dec325646f72cf86f9",
                                    "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-1772036582.0537326-5-54284429621115/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1d8f603c050501e288e881c031766fd4",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 15805,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1772036582.0537326-5-54284429621115/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:23:02.904153Z",
                            "start": "2026-02-25T16:23:02.017462Z"
                        },
                        "id": "0242ac17-0011-60d5-fdac-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-02-25T16:23:03.222181Z",
                            "start": "2026-02-25T16:23:02.911879Z"
                        },
                        "id": "0242ac17-0011-60d5-fdac-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "csi"
                            ],
                            "delta": "0:07:27.134141",
                            "end": "2026-02-25 16:30:30.730846",
                            "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-60d5-fdac-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-02-25 16:23:03.596705",
                            "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 setuptools (1.1MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading cryptography (4.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading kubernetes (1.9MiB)\nDownloading netaddr (2.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading pygments (1.2MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading pydantic-core\n Downloading netaddr\n Downloading pygments\n Downloading cryptography\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 69ms\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] *********************************************************\nWednesday 25 February 2026  16:23:51 +0000 (0:00:00.025)       0:00:00.025 ****\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nWednesday 25 February 2026  16:23:52 +0000 (0:00:01.221)       0:00:01.246 ****\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nWednesday 25 February 2026  16:23:52 +0000 (0:00:00.639)       0:00:01.886 ****\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] ***************************************************\nWednesday 25 February 2026  16:23:53 +0000 (0:00:00.271)       0:00:02.157 ****\nok: [instance]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:23:54 +0000 (0:00:00.907)       0:00:03.064 ****\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nWednesday 25 February 2026  16:23:54 +0000 (0:00:00.705)       0:00:03.770 ****\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nWednesday 25 February 2026  16:24:16 +0000 (0:00:22.006)       0:00:25.777 ****\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nWednesday 25 February 2026  16:24:17 +0000 (0:00:00.562)       0:00:26.339 ****\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nWednesday 25 February 2026  16:24:17 +0000 (0:00:00.292)       0:00:26.631 ****\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nWednesday 25 February 2026  16:24:18 +0000 (0:00:00.633)       0:00:27.264 ****\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nWednesday 25 February 2026  16:24:18 +0000 (0:00:00.189)       0:00:27.454 ****\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nWednesday 25 February 2026  16:24:18 +0000 (0:00:00.025)       0:00:27.480 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nWednesday 25 February 2026  16:24:19 +0000 (0:00:00.564)       0:00:28.044 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nWednesday 25 February 2026  16:24:19 +0000 (0:00:00.597)       0:00:28.641 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nWednesday 25 February 2026  16:24:20 +0000 (0:00:00.726)       0:00:29.368 ****\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nWednesday 25 February 2026  16:24:23 +0000 (0:00:03.088)       0:00:32.457 ****\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\nWednesday 25 February 2026  16:24:25 +0000 (0:00:01.865)       0:00:34.322 ****\n===============================================================================\nInstall depedencies ---------------------------------------------------- 22.01s\nCreate a volume group for each loop device ------------------------------ 3.09s\nCreate a logical volume for each loop device ---------------------------- 1.87s\nGathering Facts --------------------------------------------------------- 1.22s\nPurge \"snapd\" package --------------------------------------------------- 0.91s\nStart loop devices ------------------------------------------------------ 0.73s\nGathering Facts --------------------------------------------------------- 0.71s\nConfigure short hostname ------------------------------------------------ 0.64s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.63s\nSet permissions on loopback devices ------------------------------------- 0.60s\nCreate devices for Ceph ------------------------------------------------- 0.56s\nStart up service -------------------------------------------------------- 0.56s\nGenerate lvm.conf ------------------------------------------------------- 0.29s\nEnsure hostname inside hosts file --------------------------------------- 0.27s\nGet list of all loopback devices ---------------------------------------- 0.19s\nFail if there is any existing loopback devices -------------------------- 0.03s\nINFO     [csi > prepare] Executed: Successful\nINFO     [csi > converge] Executing\n\nPLAY [Debug CSI driver value] **************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:24:26 +0000 (0:00:00.008)       0:00:00.008 ****\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Display CSI driver value and environment variable] ***********************\nWednesday 25 February 2026  16:24:27 +0000 (0:00:00.946)       0:00:00.955 ****\nok: [instance] => {\n    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"\n}\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:24:27 +0000 (0:00:00.041)       0:00:00.996 ****\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nWednesday 25 February 2026  16:24:28 +0000 (0:00:00.886)       0:00:01.882 ****\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:24:28 +0000 (0:00:00.209)       0:00:02.091 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:24:29 +0000 (0:00:00.854)       0:00:02.945 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:24:30 +0000 (0:00:00.285)       0:00:03.231 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nWednesday 25 February 2026  16:24:30 +0000 (0:00:00.049)       0:00:03.281 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:24:30 +0000 (0:00:00.324)       0:00:03.605 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:24:30 +0000 (0:00:00.067)       0:00:03.672 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:24:31 +0000 (0:00:00.962)       0:00:04.634 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:24:31 +0000 (0:00:00.057)       0:00:04.692 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:24:31 +0000 (0:00:00.055)       0:00:04.748 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:24:31 +0000 (0:00:00.210)       0:00:04.958 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:24:33 +0000 (0:00:01.371)       0:00:06.330 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:24:33 +0000 (0:00:00.063)       0:00:06.393 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:24:34 +0000 (0:00:01.380)       0:00:07.773 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nWednesday 25 February 2026  16:24:37 +0000 (0:00:03.039)       0:00:10.813 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nWednesday 25 February 2026  16:24:37 +0000 (0:00:00.044)       0:00:10.857 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nWednesday 25 February 2026  16:24:37 +0000 (0:00:00.031)       0:00:10.889 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nWednesday 25 February 2026  16:24:37 +0000 (0:00:00.038)       0:00:10.927 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nWednesday 25 February 2026  16:24:43 +0000 (0:00:05.392)       0:00:16.320 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nWednesday 25 February 2026  16:24:43 +0000 (0:00:00.614)       0:00:16.935 ****\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] **********\nWednesday 25 February 2026  16:24:44 +0000 (0:00:00.918)       0:00:17.853 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nWednesday 25 February 2026  16:24:45 +0000 (0:00:00.535)       0:00:18.389 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nWednesday 25 February 2026  16:24:45 +0000 (0:00:00.017)       0:00:18.406 ****\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nWednesday 25 February 2026  16:24:46 +0000 (0:00:00.886)       0:00:19.292 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nWednesday 25 February 2026  16:24:46 +0000 (0:00:00.454)       0:00:19.747 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:24:47 +0000 (0:00:00.549)       0:00:20.297 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:24:47 +0000 (0:00:00.222)       0:00:20.519 ****\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] *******************\nWednesday 25 February 2026  16:24:47 +0000 (0:00:00.059)       0:00:20.579 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:24:48 +0000 (0:00:01.131)       0:00:21.710 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nWednesday 25 February 2026  16:24:52 +0000 (0:00:04.314)       0:00:26.025 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nWednesday 25 February 2026  16:24:53 +0000 (0:00:00.970)       0:00:26.995 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nWednesday 25 February 2026  16:24:54 +0000 (0:00:00.367)       0:00:27.363 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nWednesday 25 February 2026  16:24:54 +0000 (0:00:00.476)       0:00:27.839 ****\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] ******\nWednesday 25 February 2026  16:24:55 +0000 (0:00:00.574)       0:00:28.414 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nWednesday 25 February 2026  16:24:55 +0000 (0:00:00.468)       0:00:28.882 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nWednesday 25 February 2026  16:24:56 +0000 (0:00:00.490)       0:00:29.373 ****\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nWednesday 25 February 2026  16:24:56 +0000 (0:00:00.020)       0:00:29.394 ****\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nWednesday 25 February 2026  16:24:56 +0000 (0:00:00.694)       0:00:30.088 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nWednesday 25 February 2026  16:24:58 +0000 (0:00:01.557)       0:00:31.646 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nWednesday 25 February 2026  16:24:59 +0000 (0:00:00.534)       0:00:32.181 ****\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] ********************************\nWednesday 25 February 2026  16:24:59 +0000 (0:00:00.060)       0:00:32.241 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nWednesday 25 February 2026  16:25:04 +0000 (0:00:05.244)       0:00:37.486 ****\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nWednesday 25 February 2026  16:25:05 +0000 (0:00:00.660)       0:00:38.147 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nWednesday 25 February 2026  16:25:05 +0000 (0:00:00.316)       0:00:38.463 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nWednesday 25 February 2026  16:25:05 +0000 (0:00:00.206)       0:00:38.670 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nWednesday 25 February 2026  16:25:05 +0000 (0:00:00.443)       0:00:39.114 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nWednesday 25 February 2026  16:25:06 +0000 (0:00:00.349)       0:00:39.463 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nWednesday 25 February 2026  16:25:07 +0000 (0:00:01.639)       0:00:41.103 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.055)       0:00:41.158 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.037)       0:00:41.196 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.031)       0:00:41.227 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.033)       0:00:41.261 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.038)       0:00:41.299 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.031)       0:00:41.331 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.043)       0:00:41.375 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.041)       0:00:41.416 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.119)       0:00:41.535 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.217)       0:00:41.753 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.054)       0:00:41.808 ****\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\"] *************\nWednesday 25 February 2026  16:25:08 +0000 (0:00:00.076)       0:00:41.885 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nWednesday 25 February 2026  16:25:09 +0000 (0:00:00.350)       0:00:42.235 ****\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] *******************************\nWednesday 25 February 2026  16:25:09 +0000 (0:00:00.699)       0:00:42.935 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nWednesday 25 February 2026  16:26:51 +0000 (0:01:41.375)       0:02:24.310 ****\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nWednesday 25 February 2026  16:26:51 +0000 (0:00:00.197)       0:02:24.508 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nWednesday 25 February 2026  16:26:51 +0000 (0:00:00.044)       0:02:24.553 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nWednesday 25 February 2026  16:26:51 +0000 (0:00:00.091)       0:02:24.644 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nWednesday 25 February 2026  16:26:52 +0000 (0:00:01.372)       0:02:26.016 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nWednesday 25 February 2026  16:26:52 +0000 (0:00:00.064)       0:02:26.081 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nWednesday 25 February 2026  16:26:53 +0000 (0:00:00.377)       0:02:26.459 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nWednesday 25 February 2026  16:26:56 +0000 (0:00:03.309)       0:02:29.769 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nWednesday 25 February 2026  16:26:58 +0000 (0:00:01.792)       0:02:31.561 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nWednesday 25 February 2026  16:27:08 +0000 (0:00:10.091)       0:02:41.652 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nWednesday 25 February 2026  16:27:08 +0000 (0:00:00.085)       0:02:41.738 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nWednesday 25 February 2026  16:27:08 +0000 (0:00:00.060)       0:02:41.798 ****\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nWednesday 25 February 2026  16:27:08 +0000 (0:00:00.049)       0:02:41.848 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nWednesday 25 February 2026  16:27:08 +0000 (0:00:00.250)       0:02:42.099 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nWednesday 25 February 2026  16:27:10 +0000 (0:00:01.850)       0:02:43.949 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nWednesday 25 February 2026  16:27:12 +0000 (0:00:01.437)       0:02:45.387 ****\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nWednesday 25 February 2026  16:27:13 +0000 (0:00:01.387)       0:02:46.774 ****\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:27:15 +0000 (0:00:01.743)       0:02:48.518 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:27:16 +0000 (0:00:00.913)       0:02:49.431 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:27:16 +0000 (0:00:00.212)       0:02:49.644 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nWednesday 25 February 2026  16:27:16 +0000 (0:00:00.038)       0:02:49.683 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:27:16 +0000 (0:00:00.199)       0:02:49.882 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:27:16 +0000 (0:00:00.054)       0:02:49.937 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:27:17 +0000 (0:00:00.346)       0:02:50.283 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:27:17 +0000 (0:00:00.042)       0:02:50.326 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:27:17 +0000 (0:00:00.047)       0:02:50.373 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:27:17 +0000 (0:00:00.209)       0:02:50.583 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:27:18 +0000 (0:00:01.081)       0:02:51.664 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:27:18 +0000 (0:00:00.061)       0:02:51.726 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:27:18 +0000 (0:00:00.319)       0:02:52.046 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nWednesday 25 February 2026  16:27:20 +0000 (0:00:01.986)       0:02:54.032 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nWednesday 25 February 2026  16:27:20 +0000 (0:00:00.031)       0:02:54.064 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nWednesday 25 February 2026  16:27:20 +0000 (0:00:00.033)       0:02:54.097 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nWednesday 25 February 2026  16:27:20 +0000 (0:00:00.034)       0:02:54.132 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nWednesday 25 February 2026  16:27:21 +0000 (0:00:00.994)       0:02:55.127 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nWednesday 25 February 2026  16:27:22 +0000 (0:00:00.442)       0:02:55.569 ****\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] **********\nWednesday 25 February 2026  16:27:23 +0000 (0:00:00.890)       0:02:56.460 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nWednesday 25 February 2026  16:27:23 +0000 (0:00:00.457)       0:02:56.917 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nWednesday 25 February 2026  16:27:23 +0000 (0:00:00.016)       0:02:56.934 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:27:24 +0000 (0:00:00.366)       0:02:57.300 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:27:24 +0000 (0:00:00.197)       0:02:57.498 ****\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] *******************\nWednesday 25 February 2026  16:27:24 +0000 (0:00:00.049)       0:02:57.547 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:27:24 +0000 (0:00:00.358)       0:02:57.906 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nWednesday 25 February 2026  16:27:27 +0000 (0:00:03.092)       0:03:00.999 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nWednesday 25 February 2026  16:27:28 +0000 (0:00:01.032)       0:03:02.031 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nWednesday 25 February 2026  16:27:29 +0000 (0:00:00.194)       0:03:02.226 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nWednesday 25 February 2026  16:27:29 +0000 (0:00:00.413)       0:03:02.639 ****\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] ******\nWednesday 25 February 2026  16:27:30 +0000 (0:00:00.551)       0:03:03.191 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nWednesday 25 February 2026  16:27:30 +0000 (0:00:00.428)       0:03:03.620 ****\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nWednesday 25 February 2026  16:27:30 +0000 (0:00:00.421)       0:03:04.041 ****\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nWednesday 25 February 2026  16:27:30 +0000 (0:00:00.015)       0:03:04.057 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nWednesday 25 February 2026  16:27:31 +0000 (0:00:00.401)       0:03:04.458 ****\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] ********************************\nWednesday 25 February 2026  16:27:31 +0000 (0:00:00.053)       0:03:04.511 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nWednesday 25 February 2026  16:27:32 +0000 (0:00:01.053)       0:03:05.564 ****\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nWednesday 25 February 2026  16:27:33 +0000 (0:00:00.690)       0:03:06.255 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nWednesday 25 February 2026  16:27:33 +0000 (0:00:00.322)       0:03:06.577 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nWednesday 25 February 2026  16:27:33 +0000 (0:00:00.193)       0:03:06.771 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nWednesday 25 February 2026  16:27:33 +0000 (0:00:00.240)       0:03:07.012 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nWednesday 25 February 2026  16:27:34 +0000 (0:00:00.202)       0:03:07.214 ****\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nWednesday 25 February 2026  16:27:34 +0000 (0:00:00.252)       0:03:07.467 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nWednesday 25 February 2026  16:27:34 +0000 (0:00:00.054)       0:03:07.522 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nWednesday 25 February 2026  16:27:39 +0000 (0:00:05.309)       0:03:12.831 ****\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nWednesday 25 February 2026  16:27:39 +0000 (0:00:00.051)       0:03:12.882 ****\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nWednesday 25 February 2026  16:27:39 +0000 (0:00:00.071)       0:03:12.954 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nWednesday 25 February 2026  16:27:39 +0000 (0:00:00.044)       0:03:12.998 ****\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nWednesday 25 February 2026  16:27:39 +0000 (0:00:00.050)       0:03:13.049 ****\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nWednesday 25 February 2026  16:27:40 +0000 (0:00:00.275)       0:03:13.325 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nWednesday 25 February 2026  16:27:42 +0000 (0:00:02.058)       0:03:15.383 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nWednesday 25 February 2026  16:27:42 +0000 (0:00:00.028)       0:03:15.412 ****\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nWednesday 25 February 2026  16:27:42 +0000 (0:00:00.029)       0:03:15.442 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nWednesday 25 February 2026  16:27:47 +0000 (0:00:05.278)       0:03:20.720 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nWednesday 25 February 2026  16:27:57 +0000 (0:00:09.874)       0:03:30.594 ****\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] ****************************************\nWednesday 25 February 2026  16:29:31 +0000 (0:01:33.901)       0:05:04.496 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nWednesday 25 February 2026  16:29:34 +0000 (0:00:02.868)       0:05:07.364 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nWednesday 25 February 2026  16:29:35 +0000 (0:00:01.671)       0:05:09.036 ****\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] *********************************\nWednesday 25 February 2026  16:29:35 +0000 (0:00:00.065)       0:05:09.102 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nWednesday 25 February 2026  16:29:36 +0000 (0:00:00.051)       0:05:09.153 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nWednesday 25 February 2026  16:29:37 +0000 (0:00:01.673)       0:05:10.827 ****\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nWednesday 25 February 2026  16:29:37 +0000 (0:00:00.044)       0:05:10.871 ****\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] ************************\nWednesday 25 February 2026  16:29:37 +0000 (0:00:00.046)       0:05:10.917 ****\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nWednesday 25 February 2026  16:29:37 +0000 (0:00:00.053)       0:05:10.971 ****\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:29:38 +0000 (0:00:00.388)       0:05:11.359 ****\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nWednesday 25 February 2026  16:29:39 +0000 (0:00:00.961)       0:05:12.321 ****\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] ***\nWednesday 25 February 2026  16:29:45 +0000 (0:00:06.097)       0:05:18.419 ****\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nWednesday 25 February 2026  16:29:45 +0000 (0:00:00.202)       0:05:18.621 ****\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nWednesday 25 February 2026  16:29:45 +0000 (0:00:00.437)       0:05:19.059 ****\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nWednesday 25 February 2026  16:29:46 +0000 (0:00:00.242)       0:05:19.302 ****\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:29:46 +0000 (0:00:00.048)       0:05:19.351 ****\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nWednesday 25 February 2026  16:29:48 +0000 (0:00:01.908)       0:05:21.259 ****\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nWednesday 25 February 2026  16:29:48 +0000 (0:00:00.202)       0:05:21.462 ****\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] ****\nWednesday 25 February 2026  16:29:49 +0000 (0:00:00.928)       0:05:22.391 ****\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] *********\nWednesday 25 February 2026  16:29:49 +0000 (0:00:00.513)       0:05:22.905 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nWednesday 25 February 2026  16:29:49 +0000 (0:00:00.187)       0:05:23.092 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nWednesday 25 February 2026  16:29:50 +0000 (0:00:00.229)       0:05:23.322 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nWednesday 25 February 2026  16:29:50 +0000 (0:00:00.031)       0:05:23.354 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nWednesday 25 February 2026  16:29:50 +0000 (0:00:00.035)       0:05:23.389 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nWednesday 25 February 2026  16:29:50 +0000 (0:00:00.544)       0:05:23.934 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nWednesday 25 February 2026  16:29:51 +0000 (0:00:00.209)       0:05:24.143 ****\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 25 February 2026  16:29:51 +0000 (0:00:00.057)       0:05:24.201 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.942)       0:05:25.144 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.205)       0:05:25.349 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.039)       0:05:25.388 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.218)       0:05:25.607 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.056)       0:05:25.664 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.301)       0:05:25.965 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:29:52 +0000 (0:00:00.043)       0:05:26.008 ****\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 25 February 2026  16:29:53 +0000 (0:00:00.208)       0:05:26.216 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:29:54 +0000 (0:00:01.048)       0:05:27.265 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:29:54 +0000 (0:00:00.071)       0:05:27.337 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:29:54 +0000 (0:00:00.334)       0:05:27.671 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nWednesday 25 February 2026  16:29:56 +0000 (0:00:01.956)       0:05:29.628 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nWednesday 25 February 2026  16:29:56 +0000 (0:00:00.031)       0:05:29.660 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nWednesday 25 February 2026  16:29:56 +0000 (0:00:00.032)       0:05:29.692 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nWednesday 25 February 2026  16:29:56 +0000 (0:00:00.027)       0:05:29.720 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nWednesday 25 February 2026  16:29:57 +0000 (0:00:00.988)       0:05:30.709 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nWednesday 25 February 2026  16:29:57 +0000 (0:00:00.424)       0:05:31.133 ****\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] **********\nWednesday 25 February 2026  16:29:58 +0000 (0:00:00.891)       0:05:32.024 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nWednesday 25 February 2026  16:29:59 +0000 (0:00:00.496)       0:05:32.521 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nWednesday 25 February 2026  16:29:59 +0000 (0:00:00.008)       0:05:32.529 ****\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nWednesday 25 February 2026  16:29:59 +0000 (0:00:00.358)       0:05:32.888 ****\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] ***\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.586)       0:05:33.475 ****\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.034)       0:05:33.509 ****\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.028)       0:05:33.538 ****\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.028)       0:05:33.566 ****\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.031)       0:05:33.597 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.041)       0:05:33.639 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.203)       0:05:33.842 ****\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] *******************\nWednesday 25 February 2026  16:30:00 +0000 (0:00:00.043)       0:05:33.886 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:30:01 +0000 (0:00:00.664)       0:05:34.550 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:30:01 +0000 (0:00:00.046)       0:05:34.596 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:30:01 +0000 (0:00:00.203)       0:05:34.799 ****\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] *******************\nWednesday 25 February 2026  16:30:01 +0000 (0:00:00.044)       0:05:34.843 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:30:03 +0000 (0:00:01.428)       0:05:36.272 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nWednesday 25 February 2026  16:30:03 +0000 (0:00:00.059)       0:05:36.332 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nWednesday 25 February 2026  16:30:03 +0000 (0:00:00.037)       0:05:36.369 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nWednesday 25 February 2026  16:30:03 +0000 (0:00:00.036)       0:05:36.405 ****\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nWednesday 25 February 2026  16:30:03 +0000 (0:00:00.036)       0:05:36.442 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nWednesday 25 February 2026  16:30:04 +0000 (0:00:01.036)       0:05:37.478 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nWednesday 25 February 2026  16:30:04 +0000 (0:00:00.465)       0:05:37.944 ****\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] **********\nWednesday 25 February 2026  16:30:05 +0000 (0:00:00.928)       0:05:38.872 ****\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nWednesday 25 February 2026  16:30:06 +0000 (0:00:00.468)       0:05:39.340 ****\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nWednesday 25 February 2026  16:30:06 +0000 (0:00:00.008)       0:05:39.349 ****\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 25 February 2026  16:30:06 +0000 (0:00:00.352)       0:05:39.701 ****\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:30:06 +0000 (0:00:00.207)       0:05:39.908 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:30:06 +0000 (0:00:00.055)       0:05:39.964 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 25 February 2026  16:30:07 +0000 (0:00:00.688)       0:05:40.652 ****\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 25 February 2026  16:30:08 +0000 (0:00:01.392)       0:05:42.044 ****\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/critest-v1.34.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 25 February 2026  16:30:08 +0000 (0:00:00.054)       0:05:42.099 ****\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\nWednesday 25 February 2026  16:30:30 +0000 (0:00:21.511)       0:06:03.610 ****\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 101.38s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 93.90s\nvexxhost.containers.download_artifact : Download item ------------------ 21.51s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.09s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------- 9.87s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 6.10s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 5.39s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.31s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 5.24s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.31s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 3.31s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.09s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.04s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 2.87s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.06s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.99s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.96s\nGathering Facts --------------------------------------------------------- 1.91s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.85s\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 setuptools (1.1MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading pygments (1.2MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading cryptography",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 69ms",
                                "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] *********************************************************",
                                "Wednesday 25 February 2026  16:23:51 +0000 (0:00:00.025)       0:00:00.025 ****",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Wednesday 25 February 2026  16:23:52 +0000 (0:00:01.221)       0:00:01.246 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Wednesday 25 February 2026  16:23:52 +0000 (0:00:00.639)       0:00:01.886 ****",
                                "[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] ***************************************************",
                                "Wednesday 25 February 2026  16:23:53 +0000 (0:00:00.271)       0:00:02.157 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:23:54 +0000 (0:00:00.907)       0:00:03.064 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Wednesday 25 February 2026  16:23:54 +0000 (0:00:00.705)       0:00:03.770 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Wednesday 25 February 2026  16:24:16 +0000 (0:00:22.006)       0:00:25.777 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Wednesday 25 February 2026  16:24:17 +0000 (0:00:00.562)       0:00:26.339 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Wednesday 25 February 2026  16:24:17 +0000 (0:00:00.292)       0:00:26.631 ****",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Wednesday 25 February 2026  16:24:18 +0000 (0:00:00.633)       0:00:27.264 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Wednesday 25 February 2026  16:24:18 +0000 (0:00:00.189)       0:00:27.454 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Wednesday 25 February 2026  16:24:18 +0000 (0:00:00.025)       0:00:27.480 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Wednesday 25 February 2026  16:24:19 +0000 (0:00:00.564)       0:00:28.044 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Wednesday 25 February 2026  16:24:19 +0000 (0:00:00.597)       0:00:28.641 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Wednesday 25 February 2026  16:24:20 +0000 (0:00:00.726)       0:00:29.368 ****",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Wednesday 25 February 2026  16:24:23 +0000 (0:00:03.088)       0:00:32.457 ****",
                                "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",
                                "",
                                "Wednesday 25 February 2026  16:24:25 +0000 (0:00:01.865)       0:00:34.322 ****",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 22.01s",
                                "Create a volume group for each loop device ------------------------------ 3.09s",
                                "Create a logical volume for each loop device ---------------------------- 1.87s",
                                "Gathering Facts --------------------------------------------------------- 1.22s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.91s",
                                "Start loop devices ------------------------------------------------------ 0.73s",
                                "Gathering Facts --------------------------------------------------------- 0.71s",
                                "Configure short hostname ------------------------------------------------ 0.64s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.63s",
                                "Set permissions on loopback devices ------------------------------------- 0.60s",
                                "Create devices for Ceph ------------------------------------------------- 0.56s",
                                "Start up service -------------------------------------------------------- 0.56s",
                                "Generate lvm.conf ------------------------------------------------------- 0.29s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.27s",
                                "Get list of all loopback devices ---------------------------------------- 0.19s",
                                "Fail if there is any existing loopback devices -------------------------- 0.03s",
                                "INFO     [csi > prepare] Executed: Successful",
                                "INFO     [csi > converge] Executing",
                                "",
                                "PLAY [Debug CSI driver value] **************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:24:26 +0000 (0:00:00.008)       0:00:00.008 ****",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Display CSI driver value and environment variable] ***********************",
                                "Wednesday 25 February 2026  16:24:27 +0000 (0:00:00.946)       0:00:00.955 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"",
                                "}",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:24:27 +0000 (0:00:00.041)       0:00:00.996 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Wednesday 25 February 2026  16:24:28 +0000 (0:00:00.886)       0:00:01.882 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:24:28 +0000 (0:00:00.209)       0:00:02.091 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:24:29 +0000 (0:00:00.854)       0:00:02.945 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:24:30 +0000 (0:00:00.285)       0:00:03.231 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Wednesday 25 February 2026  16:24:30 +0000 (0:00:00.049)       0:00:03.281 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:24:30 +0000 (0:00:00.324)       0:00:03.605 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:24:30 +0000 (0:00:00.067)       0:00:03.672 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:24:31 +0000 (0:00:00.962)       0:00:04.634 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:24:31 +0000 (0:00:00.057)       0:00:04.692 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:24:31 +0000 (0:00:00.055)       0:00:04.748 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:24:31 +0000 (0:00:00.210)       0:00:04.958 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:24:33 +0000 (0:00:01.371)       0:00:06.330 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:24:33 +0000 (0:00:00.063)       0:00:06.393 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:24:34 +0000 (0:00:01.380)       0:00:07.773 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Wednesday 25 February 2026  16:24:37 +0000 (0:00:03.039)       0:00:10.813 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Wednesday 25 February 2026  16:24:37 +0000 (0:00:00.044)       0:00:10.857 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Wednesday 25 February 2026  16:24:37 +0000 (0:00:00.031)       0:00:10.889 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Wednesday 25 February 2026  16:24:37 +0000 (0:00:00.038)       0:00:10.927 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Wednesday 25 February 2026  16:24:43 +0000 (0:00:05.392)       0:00:16.320 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Wednesday 25 February 2026  16:24:43 +0000 (0:00:00.614)       0:00:16.935 ****",
                                "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] **********",
                                "Wednesday 25 February 2026  16:24:44 +0000 (0:00:00.918)       0:00:17.853 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Wednesday 25 February 2026  16:24:45 +0000 (0:00:00.535)       0:00:18.389 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Wednesday 25 February 2026  16:24:45 +0000 (0:00:00.017)       0:00:18.406 ****",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Wednesday 25 February 2026  16:24:46 +0000 (0:00:00.886)       0:00:19.292 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Wednesday 25 February 2026  16:24:46 +0000 (0:00:00.454)       0:00:19.747 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:24:47 +0000 (0:00:00.549)       0:00:20.297 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:24:47 +0000 (0:00:00.222)       0:00:20.519 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:24:47 +0000 (0:00:00.059)       0:00:20.579 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:24:48 +0000 (0:00:01.131)       0:00:21.710 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Wednesday 25 February 2026  16:24:52 +0000 (0:00:04.314)       0:00:26.025 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Wednesday 25 February 2026  16:24:53 +0000 (0:00:00.970)       0:00:26.995 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Wednesday 25 February 2026  16:24:54 +0000 (0:00:00.367)       0:00:27.363 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Wednesday 25 February 2026  16:24:54 +0000 (0:00:00.476)       0:00:27.839 ****",
                                "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] ******",
                                "Wednesday 25 February 2026  16:24:55 +0000 (0:00:00.574)       0:00:28.414 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Wednesday 25 February 2026  16:24:55 +0000 (0:00:00.468)       0:00:28.882 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Wednesday 25 February 2026  16:24:56 +0000 (0:00:00.490)       0:00:29.373 ****",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Wednesday 25 February 2026  16:24:56 +0000 (0:00:00.020)       0:00:29.394 ****",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Wednesday 25 February 2026  16:24:56 +0000 (0:00:00.694)       0:00:30.088 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Wednesday 25 February 2026  16:24:58 +0000 (0:00:01.557)       0:00:31.646 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Wednesday 25 February 2026  16:24:59 +0000 (0:00:00.534)       0:00:32.181 ****",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Wednesday 25 February 2026  16:24:59 +0000 (0:00:00.060)       0:00:32.241 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Wednesday 25 February 2026  16:25:04 +0000 (0:00:05.244)       0:00:37.486 ****",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Wednesday 25 February 2026  16:25:05 +0000 (0:00:00.660)       0:00:38.147 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Wednesday 25 February 2026  16:25:05 +0000 (0:00:00.316)       0:00:38.463 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Wednesday 25 February 2026  16:25:05 +0000 (0:00:00.206)       0:00:38.670 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Wednesday 25 February 2026  16:25:05 +0000 (0:00:00.443)       0:00:39.114 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Wednesday 25 February 2026  16:25:06 +0000 (0:00:00.349)       0:00:39.463 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Wednesday 25 February 2026  16:25:07 +0000 (0:00:01.639)       0:00:41.103 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.055)       0:00:41.158 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.037)       0:00:41.196 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.031)       0:00:41.227 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.033)       0:00:41.261 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.038)       0:00:41.299 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.031)       0:00:41.331 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.043)       0:00:41.375 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.041)       0:00:41.416 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.119)       0:00:41.535 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.217)       0:00:41.753 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.054)       0:00:41.808 ****",
                                "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\"] *************",
                                "Wednesday 25 February 2026  16:25:08 +0000 (0:00:00.076)       0:00:41.885 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Wednesday 25 February 2026  16:25:09 +0000 (0:00:00.350)       0:00:42.235 ****",
                                "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] *******************************",
                                "Wednesday 25 February 2026  16:25:09 +0000 (0:00:00.699)       0:00:42.935 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Wednesday 25 February 2026  16:26:51 +0000 (0:01:41.375)       0:02:24.310 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Wednesday 25 February 2026  16:26:51 +0000 (0:00:00.197)       0:02:24.508 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Wednesday 25 February 2026  16:26:51 +0000 (0:00:00.044)       0:02:24.553 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Wednesday 25 February 2026  16:26:51 +0000 (0:00:00.091)       0:02:24.644 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Wednesday 25 February 2026  16:26:52 +0000 (0:00:01.372)       0:02:26.016 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Wednesday 25 February 2026  16:26:52 +0000 (0:00:00.064)       0:02:26.081 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Wednesday 25 February 2026  16:26:53 +0000 (0:00:00.377)       0:02:26.459 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Wednesday 25 February 2026  16:26:56 +0000 (0:00:03.309)       0:02:29.769 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Wednesday 25 February 2026  16:26:58 +0000 (0:00:01.792)       0:02:31.561 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Wednesday 25 February 2026  16:27:08 +0000 (0:00:10.091)       0:02:41.652 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Wednesday 25 February 2026  16:27:08 +0000 (0:00:00.085)       0:02:41.738 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Wednesday 25 February 2026  16:27:08 +0000 (0:00:00.060)       0:02:41.798 ****",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Wednesday 25 February 2026  16:27:08 +0000 (0:00:00.049)       0:02:41.848 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Wednesday 25 February 2026  16:27:08 +0000 (0:00:00.250)       0:02:42.099 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Wednesday 25 February 2026  16:27:10 +0000 (0:00:01.850)       0:02:43.949 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Wednesday 25 February 2026  16:27:12 +0000 (0:00:01.437)       0:02:45.387 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Wednesday 25 February 2026  16:27:13 +0000 (0:00:01.387)       0:02:46.774 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:27:15 +0000 (0:00:01.743)       0:02:48.518 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:27:16 +0000 (0:00:00.913)       0:02:49.431 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:27:16 +0000 (0:00:00.212)       0:02:49.644 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Wednesday 25 February 2026  16:27:16 +0000 (0:00:00.038)       0:02:49.683 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:27:16 +0000 (0:00:00.199)       0:02:49.882 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:27:16 +0000 (0:00:00.054)       0:02:49.937 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:27:17 +0000 (0:00:00.346)       0:02:50.283 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:27:17 +0000 (0:00:00.042)       0:02:50.326 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:27:17 +0000 (0:00:00.047)       0:02:50.373 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:27:17 +0000 (0:00:00.209)       0:02:50.583 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:27:18 +0000 (0:00:01.081)       0:02:51.664 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:27:18 +0000 (0:00:00.061)       0:02:51.726 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:27:18 +0000 (0:00:00.319)       0:02:52.046 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Wednesday 25 February 2026  16:27:20 +0000 (0:00:01.986)       0:02:54.032 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Wednesday 25 February 2026  16:27:20 +0000 (0:00:00.031)       0:02:54.064 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Wednesday 25 February 2026  16:27:20 +0000 (0:00:00.033)       0:02:54.097 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Wednesday 25 February 2026  16:27:20 +0000 (0:00:00.034)       0:02:54.132 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Wednesday 25 February 2026  16:27:21 +0000 (0:00:00.994)       0:02:55.127 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Wednesday 25 February 2026  16:27:22 +0000 (0:00:00.442)       0:02:55.569 ****",
                                "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] **********",
                                "Wednesday 25 February 2026  16:27:23 +0000 (0:00:00.890)       0:02:56.460 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Wednesday 25 February 2026  16:27:23 +0000 (0:00:00.457)       0:02:56.917 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Wednesday 25 February 2026  16:27:23 +0000 (0:00:00.016)       0:02:56.934 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:27:24 +0000 (0:00:00.366)       0:02:57.300 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:27:24 +0000 (0:00:00.197)       0:02:57.498 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:27:24 +0000 (0:00:00.049)       0:02:57.547 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:27:24 +0000 (0:00:00.358)       0:02:57.906 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Wednesday 25 February 2026  16:27:27 +0000 (0:00:03.092)       0:03:00.999 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Wednesday 25 February 2026  16:27:28 +0000 (0:00:01.032)       0:03:02.031 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Wednesday 25 February 2026  16:27:29 +0000 (0:00:00.194)       0:03:02.226 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Wednesday 25 February 2026  16:27:29 +0000 (0:00:00.413)       0:03:02.639 ****",
                                "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] ******",
                                "Wednesday 25 February 2026  16:27:30 +0000 (0:00:00.551)       0:03:03.191 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Wednesday 25 February 2026  16:27:30 +0000 (0:00:00.428)       0:03:03.620 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Wednesday 25 February 2026  16:27:30 +0000 (0:00:00.421)       0:03:04.041 ****",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Wednesday 25 February 2026  16:27:30 +0000 (0:00:00.015)       0:03:04.057 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Wednesday 25 February 2026  16:27:31 +0000 (0:00:00.401)       0:03:04.458 ****",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Wednesday 25 February 2026  16:27:31 +0000 (0:00:00.053)       0:03:04.511 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Wednesday 25 February 2026  16:27:32 +0000 (0:00:01.053)       0:03:05.564 ****",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Wednesday 25 February 2026  16:27:33 +0000 (0:00:00.690)       0:03:06.255 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Wednesday 25 February 2026  16:27:33 +0000 (0:00:00.322)       0:03:06.577 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Wednesday 25 February 2026  16:27:33 +0000 (0:00:00.193)       0:03:06.771 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Wednesday 25 February 2026  16:27:33 +0000 (0:00:00.240)       0:03:07.012 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Wednesday 25 February 2026  16:27:34 +0000 (0:00:00.202)       0:03:07.214 ****",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Wednesday 25 February 2026  16:27:34 +0000 (0:00:00.252)       0:03:07.467 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Wednesday 25 February 2026  16:27:34 +0000 (0:00:00.054)       0:03:07.522 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Wednesday 25 February 2026  16:27:39 +0000 (0:00:05.309)       0:03:12.831 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Wednesday 25 February 2026  16:27:39 +0000 (0:00:00.051)       0:03:12.882 ****",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Wednesday 25 February 2026  16:27:39 +0000 (0:00:00.071)       0:03:12.954 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Wednesday 25 February 2026  16:27:39 +0000 (0:00:00.044)       0:03:12.998 ****",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Wednesday 25 February 2026  16:27:39 +0000 (0:00:00.050)       0:03:13.049 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Wednesday 25 February 2026  16:27:40 +0000 (0:00:00.275)       0:03:13.325 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Wednesday 25 February 2026  16:27:42 +0000 (0:00:02.058)       0:03:15.383 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Wednesday 25 February 2026  16:27:42 +0000 (0:00:00.028)       0:03:15.412 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Wednesday 25 February 2026  16:27:42 +0000 (0:00:00.029)       0:03:15.442 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Wednesday 25 February 2026  16:27:47 +0000 (0:00:05.278)       0:03:20.720 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Wednesday 25 February 2026  16:27:57 +0000 (0:00:09.874)       0:03:30.594 ****",
                                "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] ****************************************",
                                "Wednesday 25 February 2026  16:29:31 +0000 (0:01:33.901)       0:05:04.496 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Wednesday 25 February 2026  16:29:34 +0000 (0:00:02.868)       0:05:07.364 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Wednesday 25 February 2026  16:29:35 +0000 (0:00:01.671)       0:05:09.036 ****",
                                "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] *********************************",
                                "Wednesday 25 February 2026  16:29:35 +0000 (0:00:00.065)       0:05:09.102 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Wednesday 25 February 2026  16:29:36 +0000 (0:00:00.051)       0:05:09.153 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Wednesday 25 February 2026  16:29:37 +0000 (0:00:01.673)       0:05:10.827 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Wednesday 25 February 2026  16:29:37 +0000 (0:00:00.044)       0:05:10.871 ****",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Wednesday 25 February 2026  16:29:37 +0000 (0:00:00.046)       0:05:10.917 ****",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Wednesday 25 February 2026  16:29:37 +0000 (0:00:00.053)       0:05:10.971 ****",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:29:38 +0000 (0:00:00.388)       0:05:11.359 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Wednesday 25 February 2026  16:29:39 +0000 (0:00:00.961)       0:05:12.321 ****",
                                "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] ***",
                                "Wednesday 25 February 2026  16:29:45 +0000 (0:00:06.097)       0:05:18.419 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Wednesday 25 February 2026  16:29:45 +0000 (0:00:00.202)       0:05:18.621 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Wednesday 25 February 2026  16:29:45 +0000 (0:00:00.437)       0:05:19.059 ****",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Wednesday 25 February 2026  16:29:46 +0000 (0:00:00.242)       0:05:19.302 ****",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:29:46 +0000 (0:00:00.048)       0:05:19.351 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Wednesday 25 February 2026  16:29:48 +0000 (0:00:01.908)       0:05:21.259 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Wednesday 25 February 2026  16:29:48 +0000 (0:00:00.202)       0:05:21.462 ****",
                                "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] ****",
                                "Wednesday 25 February 2026  16:29:49 +0000 (0:00:00.928)       0:05:22.391 ****",
                                "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] *********",
                                "Wednesday 25 February 2026  16:29:49 +0000 (0:00:00.513)       0:05:22.905 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Wednesday 25 February 2026  16:29:49 +0000 (0:00:00.187)       0:05:23.092 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Wednesday 25 February 2026  16:29:50 +0000 (0:00:00.229)       0:05:23.322 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Wednesday 25 February 2026  16:29:50 +0000 (0:00:00.031)       0:05:23.354 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Wednesday 25 February 2026  16:29:50 +0000 (0:00:00.035)       0:05:23.389 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Wednesday 25 February 2026  16:29:50 +0000 (0:00:00.544)       0:05:23.934 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Wednesday 25 February 2026  16:29:51 +0000 (0:00:00.209)       0:05:24.143 ****",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 25 February 2026  16:29:51 +0000 (0:00:00.057)       0:05:24.201 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.942)       0:05:25.144 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.205)       0:05:25.349 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.039)       0:05:25.388 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.218)       0:05:25.607 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.056)       0:05:25.664 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.301)       0:05:25.965 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:29:52 +0000 (0:00:00.043)       0:05:26.008 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 25 February 2026  16:29:53 +0000 (0:00:00.208)       0:05:26.216 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:29:54 +0000 (0:00:01.048)       0:05:27.265 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:29:54 +0000 (0:00:00.071)       0:05:27.337 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:29:54 +0000 (0:00:00.334)       0:05:27.671 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Wednesday 25 February 2026  16:29:56 +0000 (0:00:01.956)       0:05:29.628 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Wednesday 25 February 2026  16:29:56 +0000 (0:00:00.031)       0:05:29.660 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Wednesday 25 February 2026  16:29:56 +0000 (0:00:00.032)       0:05:29.692 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Wednesday 25 February 2026  16:29:56 +0000 (0:00:00.027)       0:05:29.720 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Wednesday 25 February 2026  16:29:57 +0000 (0:00:00.988)       0:05:30.709 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Wednesday 25 February 2026  16:29:57 +0000 (0:00:00.424)       0:05:31.133 ****",
                                "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] **********",
                                "Wednesday 25 February 2026  16:29:58 +0000 (0:00:00.891)       0:05:32.024 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Wednesday 25 February 2026  16:29:59 +0000 (0:00:00.496)       0:05:32.521 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Wednesday 25 February 2026  16:29:59 +0000 (0:00:00.008)       0:05:32.529 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Wednesday 25 February 2026  16:29:59 +0000 (0:00:00.358)       0:05:32.888 ****",
                                "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] ***",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.586)       0:05:33.475 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.034)       0:05:33.509 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.028)       0:05:33.538 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.028)       0:05:33.566 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.031)       0:05:33.597 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.041)       0:05:33.639 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.203)       0:05:33.842 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:30:00 +0000 (0:00:00.043)       0:05:33.886 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:30:01 +0000 (0:00:00.664)       0:05:34.550 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:30:01 +0000 (0:00:00.046)       0:05:34.596 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:30:01 +0000 (0:00:00.203)       0:05:34.799 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:30:01 +0000 (0:00:00.044)       0:05:34.843 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:30:03 +0000 (0:00:01.428)       0:05:36.272 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Wednesday 25 February 2026  16:30:03 +0000 (0:00:00.059)       0:05:36.332 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Wednesday 25 February 2026  16:30:03 +0000 (0:00:00.037)       0:05:36.369 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Wednesday 25 February 2026  16:30:03 +0000 (0:00:00.036)       0:05:36.405 ****",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Wednesday 25 February 2026  16:30:03 +0000 (0:00:00.036)       0:05:36.442 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Wednesday 25 February 2026  16:30:04 +0000 (0:00:01.036)       0:05:37.478 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Wednesday 25 February 2026  16:30:04 +0000 (0:00:00.465)       0:05:37.944 ****",
                                "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] **********",
                                "Wednesday 25 February 2026  16:30:05 +0000 (0:00:00.928)       0:05:38.872 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Wednesday 25 February 2026  16:30:06 +0000 (0:00:00.468)       0:05:39.340 ****",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Wednesday 25 February 2026  16:30:06 +0000 (0:00:00.008)       0:05:39.349 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 25 February 2026  16:30:06 +0000 (0:00:00.352)       0:05:39.701 ****",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:30:06 +0000 (0:00:00.207)       0:05:39.908 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:30:06 +0000 (0:00:00.055)       0:05:39.964 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 25 February 2026  16:30:07 +0000 (0:00:00.688)       0:05:40.652 ****",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 25 February 2026  16:30:08 +0000 (0:00:01.392)       0:05:42.044 ****",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/critest-v1.34.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 25 February 2026  16:30:08 +0000 (0:00:00.054)       0:05:42.099 ****",
                                "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",
                                "",
                                "Wednesday 25 February 2026  16:30:30 +0000 (0:00:21.511)       0:06:03.610 ****",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 101.38s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 93.90s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 21.51s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.09s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------- 9.87s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 6.10s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 5.39s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.31s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 5.24s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.31s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 3.31s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.09s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.04s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 2.87s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.06s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.99s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.96s",
                                "Gathering Facts --------------------------------------------------------- 1.91s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.85s",
                                "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-60d5-fdac-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:30.937807Z",
                            "start": "2026-02-25T16:23:03.247092Z"
                        },
                        "id": "0242ac17-0011-60d5-fdac-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-25T16:30:42.018005Z",
                    "start": "2026-02-25T16:30:31.809538Z"
                },
                "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:32.194422Z",
                            "start": "2026-02-25T16:30:31.826705Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.099579",
                            "end": "2026-02-25 16:30:32.693512",
                            "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-42a8-e8b1-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:32.593933",
                            "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-42a8-e8b1-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:32.741262Z",
                            "start": "2026-02-25T16:30:32.224549Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/tmp/logs/system /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.74:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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-42a8-e8b1-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:33.426164Z",
                            "start": "2026-02-25T16:30:32.749115Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:33.821296Z",
                            "start": "2026-02-25T16:30:33.434718Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.074747",
                            "end": "2026-02-25 16:30:34.133713",
                            "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-42a8-e8b1-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:34.058966",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0225 16:30:34.124452   35975 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\nE0225 16:30:34.125637   35975 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\nE0225 16:30:34.126204   35975 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\nE0225 16:30:34.127562   35975 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\nE0225 16:30:34.128025   35975 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": [
                                "E0225 16:30:34.124452   35975 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",
                                "E0225 16:30:34.125637   35975 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",
                                "E0225 16:30:34.126204   35975 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",
                                "E0225 16:30:34.127562   35975 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",
                                "E0225 16:30:34.128025   35975 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-42a8-e8b1-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:34.370302Z",
                            "start": "2026-02-25T16:30:33.850940Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/tmp/logs/helm /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.74:/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-42a8-e8b1-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:34.885641Z",
                            "start": "2026-02-25T16:30:34.378635Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:35.104436Z",
                            "start": "2026-02-25T16:30:34.894569Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.234912",
                            "end": "2026-02-25 16:30:35.548856",
                            "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-42a8-e8b1-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:35.313944",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\n\nxargs: warning: options --max-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\nE0225 16:30:35.393205   36027 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\nE0225 16:30:35.394583   36027 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\nE0225 16:30:35.395379   36027 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\nE0225 16:30:35.398362   36027 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\nE0225 16:30:35.398603   36027 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?\nE0225 16:30:35.403271   36025 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\nE0225 16:30:35.404770   36025 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\nE0225 16:30:35.405391   36025 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\nE0225 16:30:35.407019   36025 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\nE0225 16:30:35.407555   36025 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\nE0225 16:30:35.456356   36051 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\nE0225 16:30:35.460146   36051 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\nE0225 16:30:35.460697   36051 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\nE0225 16:30:35.462268   36051 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\nE0225 16:30:35.462627   36051 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\nE0225 16:30:35.481950   36058 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\nE0225 16:30:35.483044   36058 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\nE0225 16:30:35.483822   36058 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\nE0225 16:30:35.485554   36058 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\nE0225 16:30:35.486148   36058 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?\nE0225 16:30:35.537802   36074 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\nE0225 16:30:35.538878   36074 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\nE0225 16:30:35.539652   36074 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\nE0225 16:30:35.541553   36074 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\nE0225 16:30:35.542199   36074 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "",
                                "xargs: warning: options --max-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",
                                "E0225 16:30:35.393205   36027 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",
                                "E0225 16:30:35.394583   36027 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",
                                "E0225 16:30:35.395379   36027 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",
                                "E0225 16:30:35.398362   36027 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",
                                "E0225 16:30:35.398603   36027 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?",
                                "E0225 16:30:35.403271   36025 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",
                                "E0225 16:30:35.404770   36025 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",
                                "E0225 16:30:35.405391   36025 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",
                                "E0225 16:30:35.407019   36025 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",
                                "E0225 16:30:35.407555   36025 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",
                                "E0225 16:30:35.456356   36051 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",
                                "E0225 16:30:35.460146   36051 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",
                                "E0225 16:30:35.460697   36051 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",
                                "E0225 16:30:35.462268   36051 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",
                                "E0225 16:30:35.462627   36051 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",
                                "E0225 16:30:35.481950   36058 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",
                                "E0225 16:30:35.483044   36058 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",
                                "E0225 16:30:35.483822   36058 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",
                                "E0225 16:30:35.485554   36058 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",
                                "E0225 16:30:35.486148   36058 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?",
                                "E0225 16:30:35.537802   36074 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",
                                "E0225 16:30:35.538878   36074 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",
                                "E0225 16:30:35.539652   36074 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",
                                "E0225 16:30:35.541553   36074 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",
                                "E0225 16:30:35.542199   36074 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-42a8-e8b1-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:35.652610Z",
                            "start": "2026-02-25T16:30:35.130413Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:35.852023Z",
                            "start": "2026-02-25T16:30:35.657612Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.075923",
                            "end": "2026-02-25 16:30:36.226563",
                            "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-42a8-e8b1-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:36.150640",
                            "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\nE0225 16:30:36.216564   36103 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\nE0225 16:30:36.217817   36103 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\nE0225 16:30:36.218849   36103 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\nE0225 16:30:36.219517   36103 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\nE0225 16:30:36.220996   36103 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",
                                "E0225 16:30:36.216564   36103 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",
                                "E0225 16:30:36.217817   36103 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",
                                "E0225 16:30:36.218849   36103 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",
                                "E0225 16:30:36.219517   36103 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",
                                "E0225 16:30:36.220996   36103 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-42a8-e8b1-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:36.433299Z",
                            "start": "2026-02-25T16:30:35.913680Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/tmp/logs/objects /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.74:/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-42a8-e8b1-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:36.936463Z",
                            "start": "2026-02-25T16:30:36.440657Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:37.165196Z",
                            "start": "2026-02-25T16:30:36.945781Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:37.370440Z",
                            "start": "2026-02-25T16:30:37.169913Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.072533",
                            "end": "2026-02-25 16:30:37.653192",
                            "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-42a8-e8b1-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:37.580659",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0225 16:30:37.640620   36154 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\nE0225 16:30:37.641298   36154 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\nE0225 16:30:37.643542   36154 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\nE0225 16:30:37.644125   36154 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\nE0225 16:30:37.645572   36154 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": [
                                "E0225 16:30:37.640620   36154 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",
                                "E0225 16:30:37.641298   36154 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",
                                "E0225 16:30:37.643542   36154 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",
                                "E0225 16:30:37.644125   36154 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",
                                "E0225 16:30:37.645572   36154 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-42a8-e8b1-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:37.914187Z",
                            "start": "2026-02-25T16:30:37.394913Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/tmp/logs/pod-logs /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.74:/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-42a8-e8b1-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:38.426076Z",
                            "start": "2026-02-25T16:30:37.921308Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:38.668907Z",
                            "start": "2026-02-25T16:30:38.439671Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.067009",
                            "end": "2026-02-25 16:30:38.947748",
                            "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-42a8-e8b1-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:38.880739",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0225 16:30:38.936558   36215 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\nE0225 16:30:38.937313   36215 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\nE0225 16:30:38.939374   36215 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\nE0225 16:30:38.940822   36215 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\nE0225 16:30:38.941460   36215 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": [
                                "E0225 16:30:38.936558   36215 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",
                                "E0225 16:30:38.937313   36215 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",
                                "E0225 16:30:38.939374   36215 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",
                                "E0225 16:30:38.940822   36215 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",
                                "E0225 16:30:38.941460   36215 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-42a8-e8b1-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:39.210146Z",
                            "start": "2026-02-25T16:30:38.692423Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.108716",
                            "end": "2026-02-25 16:30:39.537365",
                            "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-42a8-e8b1-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:39.428649",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0225 16:30:39.526680   36237 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\nE0225 16:30:39.527721   36237 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\nE0225 16:30:39.529338   36237 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\nE0225 16:30:39.529769   36237 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\nE0225 16:30:39.531319   36237 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": [
                                "E0225 16:30:39.526680   36237 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",
                                "E0225 16:30:39.527721   36237 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",
                                "E0225 16:30:39.529338   36237 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",
                                "E0225 16:30:39.529769   36237 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",
                                "E0225 16:30:39.531319   36237 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-42a8-e8b1-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:39.752791Z",
                            "start": "2026-02-25T16:30:39.236271Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.068454",
                            "end": "2026-02-25 16:30:40.030180",
                            "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-42a8-e8b1-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-25 16:30:39.961726",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0225 16:30:40.017693   36258 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\nE0225 16:30:40.018362   36258 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\nE0225 16:30:40.020066   36258 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\nE0225 16:30:40.020438   36258 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\nE0225 16:30:40.022072   36258 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": [
                                "E0225 16:30:40.017693   36258 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",
                                "E0225 16:30:40.018362   36258 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",
                                "E0225 16:30:40.020066   36258 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",
                                "E0225 16:30:40.020438   36258 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",
                                "E0225 16:30:40.022072   36258 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-42a8-e8b1-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:40.292851Z",
                            "start": "2026-02-25T16:30:39.777619Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/tmp/logs/prometheus /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.74:/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-42a8-e8b1-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:40.779568Z",
                            "start": "2026-02-25T16:30:40.299368Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-42a8-e8b1-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:40.986078Z",
                            "start": "2026-02-25T16:30:40.790429Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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.005398",
                            "end": "2026-02-25 16:30:41.203249",
                            "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-42a8-e8b1-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-02-25 16:30:41.197851",
                            "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-42a8-e8b1-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-42a8-e8b1-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:41.528140Z",
                            "start": "2026-02-25T16:30:41.008055Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/tmp/logs/selenium /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.74:/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-42a8-e8b1-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:42.018005Z",
                            "start": "2026-02-25T16:30:41.535956Z"
                        },
                        "id": "0242ac17-0011-42a8-e8b1-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-02-25T16:30:46.058561Z",
                    "start": "2026-02-25T16:30:42.792146Z"
                },
                "id": "0242ac17-0011-7c98-e817-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-7c98-e817-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:42.850335Z",
                            "start": "2026-02-25T16:30:42.804284Z"
                        },
                        "id": "0242ac17-0011-7c98-e817-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7c98-e817-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:42.905055Z",
                            "start": "2026-02-25T16:30:42.861516Z"
                        },
                        "id": "0242ac17-0011-7c98-e817-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/ff19235a1e664380a014c8aa0719784c/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7c98-e817-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:43.775824Z",
                            "start": "2026-02-25T16:30:42.910837Z"
                        },
                        "id": "0242ac17-0011-7c98-e817-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.74:/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/ff19235a1e664380a014c8aa0719784c/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.74:/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/ff19235a1e664380a014c8aa0719784c/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.74:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.74:/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/ff19235a1e664380a014c8aa0719784c/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7c98-e817-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:45.344382Z",
                            "start": "2026-02-25T16:30:43.785465Z"
                        },
                        "id": "0242ac17-0011-7c98-e817-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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/artifacts/* /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.009194",
                                    "end": "2026-02-25 16:30:45.766381",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/artifacts/* /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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-02-25 16:30:45.757187",
                                    "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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/docs/* /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.009103",
                                    "end": "2026-02-25 16:30:46.005412",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/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/ff19235a1e664380a014c8aa0719784c/work/docs/* /var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/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-02-25 16:30:45.996309",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7c98-e817-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:46.058561Z",
                            "start": "2026-02-25T16:30:45.357643Z"
                        },
                        "id": "0242ac17-0011-7c98-e817-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-02-25T16:30:46.510122Z",
                    "start": "2026-02-25T16:30:46.071594Z"
                },
                "id": "0242ac17-0011-7c98-e817-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDLAcclpp30uwz9py0ayucw/q6c3QVrDO/zeT4gB53GZHVlFw/HdgdZt0u0GX+HPso8KGEvteA4XyWUsyhfER5a8L+P3Jlv+MFLq0efMgXhAuvCMviMVbuwNZ5IH0BTYfOL107qA8zVumNeW3chMXYuLUCNdN3KBNxS+GM5eDdwR5UQVHrg7eHwRT7x6s5PB1AYz8RQFaFNKV2z2PqAv0qNjfgHAVfWkdTZYLZZDCFBnWIBFPlH0Snoiay74vL84KXVUnCdIJlaGrxGI4TmQ1aFER229Cnv20JpoRkn14HMWgpeEa1G+Mbb1n9EauW0Ng6/gqx0j31NArEBTEkC38l4oIc5MX845gcQ8jlbXKzlc3y27ovWbipnjqpY7U8TvcppJkliLjPaYZxiPevjWQdvOEEQg6cU9oCbjBmXI7IWZB9cF0xPR9kyQn5sGuw6o71kfQlAlaJMdZsVWNP5GizBlUXr8Sz9nvPIsQowzdbEp/QqcYojoktSpzpTCDe8sm0= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDLAcclpp30uwz9py0ayucw/q6c3QVrDO/zeT4gB53GZHVlFw/HdgdZt0u0GX+HPso8KGEvteA4XyWUsyhfER5a8L+P3Jlv+MFLq0efMgXhAuvCMviMVbuwNZ5IH0BTYfOL107qA8zVumNeW3chMXYuLUCNdN3KBNxS+GM5eDdwR5UQVHrg7eHwRT7x6s5PB1AYz8RQFaFNKV2z2PqAv0qNjfgHAVfWkdTZYLZZDCFBnWIBFPlH0Snoiay74vL84KXVUnCdIJlaGrxGI4TmQ1aFER229Cnv20JpoRkn14HMWgpeEa1G+Mbb1n9EauW0Ng6/gqx0j31NArEBTEkC38l4oIc5MX845gcQ8jlbXKzlc3y27ovWbipnjqpY7U8TvcppJkliLjPaYZxiPevjWQdvOEEQg6cU9oCbjBmXI7IWZB9cF0xPR9kyQn5sGuw6o71kfQlAlaJMdZsVWNP5GizBlUXr8Sz9nvPIsQowzdbEp/QqcYojoktSpzpTCDe8sm0= 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-7c98-e817-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/ff19235a1e664380a014c8aa0719784c/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-25T16:30:46.510122Z",
                            "start": "2026-02-25T16:30:46.077840Z"
                        },
                        "id": "0242ac17-0011-7c98-e817-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
}
]
