[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "vexxhost.dev/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-16T17:06:18.470193Z",
                    "start": "2026-02-16T17:06:16.029822Z"
                },
                "id": "0242ac17-0010-5bb3-4486-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-16",
                                    "day": "16",
                                    "epoch": "1771261576",
                                    "epoch_int": "1771261576",
                                    "hour": "17",
                                    "iso8601": "2026-02-16T17:06:16Z",
                                    "iso8601_basic": "20260216T170616822733",
                                    "iso8601_basic_short": "20260216T170616",
                                    "iso8601_micro": "2026-02-16T17:06:16.822733Z",
                                    "minute": "06",
                                    "month": "02",
                                    "second": "16",
                                    "time": "17:06:16",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "07",
                                    "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/f211de59529246bb9043355f432164f6/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work",
                                    "HOSTNAME": "3a2793d2bd32",
                                    "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/f211de59529246bb9043355f432164f6/trusted/project_0/vexxhost.dev/zuul-config/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "PYTHON_SHA256": "8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a",
                                    "PYTHON_VERSION": "3.11.13",
                                    "SSH_AGENT_PID": "3991776",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-HcIx2c16D6if/agent.3991772",
                                    "TMP": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "3a2793d2bd32",
                                "ansible_hostname": "3a2793d2bd32",
                                "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.64453125,
                                    "1m": 1.2705078125,
                                    "5m": 0.79345703125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 701,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 20054,
                                        "used": 12036
                                    },
                                    "real": {
                                        "free": 701,
                                        "total": 32090,
                                        "used": 31389
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 54154556,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 209786161,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 18257642,
                                        "inode_total": 67108864,
                                        "inode_used": 48851222,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 221817061376,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 10211827,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 30389753,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16916257,
                                        "inode_total": 20643840,
                                        "inode_used": 3727583,
                                        "mount": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 41827643392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "3a2793d2bd32",
                                "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": 13,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        13,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.13",
                                "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": 34925306,
                                "ansible_user_dir": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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-16T17:06:16.884212Z",
                            "start": "2026-02-16T17:06:16.038336Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:16.907141Z",
                            "start": "2026-02-16T17:06:16.888206Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "f21/oss/f211de59529246bb9043355f432164f6"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:16.959915Z",
                            "start": "2026-02-16T17:06:16.926500Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.15\nJob: atmosphere-molecule-csi-rbd\nPipeline: check\nExecutor: 3a2793d2bd32\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3588\nEvent ID: ae3a0970-0b59-11f1-8fd9-a221fd5e7390\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:17.012528Z",
                            "start": "2026-02-16T17:06:16.969036Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-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: np0000155569\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.4\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:17.115673Z",
                            "start": "2026-02-16T17:06:17.016408Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:17.548421Z",
                            "start": "2026-02-16T17:06:17.125608Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "8d61605a6d1830f70f9eba9c0e65e4116a393136",
                            "dest": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "8d61605a6d1830f70f9eba9c0e65e4116a393136",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/.ansible/tmp/ansible-tmp-1771261577.5925803-84-57570878436850/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a8ddf72eec621e0bc7570803132af6bc",
                            "mode": "0644",
                            "owner": "root",
                            "size": 26418,
                            "src": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/.ansible/tmp/ansible-tmp-1771261577.5925803-84-57570878436850/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:18.470193Z",
                            "start": "2026-02-16T17:06:17.555103Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-02-16T17:06:26.665350Z",
                    "start": "2026-02-16T17:06:18.479080Z"
                },
                "id": "0242ac17-0010-5bb3-4486-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/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:18.742242Z",
                            "start": "2026-02-16T17:06:18.493554Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:18.788007Z",
                            "start": "2026-02-16T17:06:18.752561Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-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/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.635689",
                            "end": "2026-02-16 17:06:20.807952",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-5bb3-4486-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:06:19.172263",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa.pub\nThe key fingerprint is:\nSHA256:OirAyBeVzrDpq1k/hvm8WrMDQSkWwFwbd3XqFTtSk+0 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|=.oo...... =o    |\n| = ++o.   +.+.   |\n|. o.B    o +.    |\n|   = o  . o .E   |\n|+ . o   S.       |\n|oo +   .         |\n| ...=oo          |\n|  +++=o.         |\n| o.o=*+          |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:OirAyBeVzrDpq1k/hvm8WrMDQSkWwFwbd3XqFTtSk+0 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|=.oo...... =o    |",
                                "| = ++o.   +.+.   |",
                                "|. o.B    o +.    |",
                                "|   = o  . o .E   |",
                                "|+ . o   S.       |",
                                "|oo +   .         |",
                                "| ...=oo          |",
                                "|  +++=o.         |",
                                "| o.o=*+          |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-5bb3-4486-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:20.864926Z",
                            "start": "2026-02-16T17:06:18.808106Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:20.907561Z",
                            "start": "2026-02-16T17:06:20.871336Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:20.949320Z",
                            "start": "2026-02-16T17:06:20.924460Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCuKcjEMVbK3lLg8LBZVhopvDktzB8VoVyVD+UisAX4YCmQovoH5a4zeNHX+COEFesy0ZxgFbHEdkOj/K/CYqQuYdBzRbAx/SndFI4AaPaYb5Z3eVm+se3SWTRwSu8yixmvwufIyJauyATCnSQlIz7zFivCkgS95HJ2XwYfD1ee+LjosGQ6FYFDg2Evbo/eCLNriYVcPFG5MrqtG2E6otFxL7XFurPeUVDkF/oCkmvaGosDVOdIC3rjMWh2WgWSV5l6j76o6hgenFlVAQG2NRLQW3pKCHgPDVSHo9fOiOHc6Pznn4UWRG+CZkb+UDFtZ21Hk50I084wGGW048aUi45Ke5qp66AaGNe2bWKYK5NeRUuRAStyBHK4uPURno6HWj6dzInOChj2WDFL68eFQqa+gu4J3RYDEEsRuLv+vS9IDQSOh2W1y2IOEhsnxfT813IwhMkY0QMGXgd9gWtVoXw9DmPFDMERtomHEOFqlxDuYiTPuTjpEhfgOVrr4cwtgQ8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCuKcjEMVbK3lLg8LBZVhopvDktzB8VoVyVD+UisAX4YCmQovoH5a4zeNHX+COEFesy0ZxgFbHEdkOj/K/CYqQuYdBzRbAx/SndFI4AaPaYb5Z3eVm+se3SWTRwSu8yixmvwufIyJauyATCnSQlIz7zFivCkgS95HJ2XwYfD1ee+LjosGQ6FYFDg2Evbo/eCLNriYVcPFG5MrqtG2E6otFxL7XFurPeUVDkF/oCkmvaGosDVOdIC3rjMWh2WgWSV5l6j76o6hgenFlVAQG2NRLQW3pKCHgPDVSHo9fOiOHc6Pznn4UWRG+CZkb+UDFtZ21Hk50I084wGGW048aUi45Ke5qp66AaGNe2bWKYK5NeRUuRAStyBHK4uPURno6HWj6dzInOChj2WDFL68eFQqa+gu4J3RYDEEsRuLv+vS9IDQSOh2W1y2IOEhsnxfT813IwhMkY0QMGXgd9gWtVoXw9DmPFDMERtomHEOFqlxDuYiTPuTjpEhfgOVrr4cwtgQ8= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:21.454181Z",
                            "start": "2026-02-16T17:06:20.959165Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:21.647321Z",
                            "start": "2026-02-16T17:06:21.459203Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "4868d0164e5f1997aae368652b073cfccd126d15",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "f211de59529246bb9043355f432164f6_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "4868d0164e5f1997aae368652b073cfccd126d15",
                                    "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-1771261581.6881702-190-27057152690185/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "59452cdee42256224efc91f37a6d4952",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1771261581.6881702-190-27057152690185/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:22.073661Z",
                            "start": "2026-02-16T17:06:21.651959Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "3f7ee36bcd5f32933e1fdfda0d8fc2c3760bb7ba",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "f211de59529246bb9043355f432164f6_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "3f7ee36bcd5f32933e1fdfda0d8fc2c3760bb7ba",
                                    "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-1771261582.1228447-200-227566262523874/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "df0a8a233ae5a0ebb3310a442faabd49",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1771261582.1228447-200-227566262523874/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:22.540735Z",
                            "start": "2026-02-16T17:06:22.080289Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:22.570458Z",
                            "start": "2026-02-16T17:06:22.545473Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:23.005937Z",
                            "start": "2026-02-16T17:06:22.582446Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa"
                            ],
                            "delta": "0:00:00.016735",
                            "end": "2026-02-16 17:06:23.288239",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-5bb3-4486-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:06:23.271504",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/f211de59529246bb9043355f432164f6_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-5bb3-4486-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:23.332615Z",
                            "start": "2026-02-16T17:06:23.019827Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:23.657770Z",
                            "start": "2026-02-16T17:06:23.339111Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:23.693081Z",
                            "start": "2026-02-16T17:06:23.666752Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:24.035866Z",
                            "start": "2026-02-16T17:06:23.707762Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:25.621813Z",
                            "start": "2026-02-16T17:06:24.041669Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:26.135779Z",
                            "start": "2026-02-16T17:06:25.632302Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-5bb3-4486-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:26.665350Z",
                            "start": "2026-02-16T17:06:26.143528Z"
                        },
                        "id": "0242ac17-0010-5bb3-4486-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-16T17:06:30.077240Z",
                    "start": "2026-02-16T17:06:27.407398Z"
                },
                "id": "0242ac17-0010-8638-930a-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-1771261587.4560485-5-109434542273837/uv-x86_64-unknown-linux-gnufy7ind2v.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-1771261587.4560485-5-109434542273837/uv-x86_64-unknown-linux-gnufy7ind2v.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8638-930a-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:29.495486Z",
                            "start": "2026-02-16T17:06:27.418986Z"
                        },
                        "id": "0242ac17-0010-8638-930a-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.009437",
                            "end": "2026-02-16 17:06:29.090901",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-8638-930a-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:06:29.081464",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-8638-930a-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-8638-930a-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:30.077240Z",
                            "start": "2026-02-16T17:06:29.521791Z"
                        },
                        "id": "0242ac17-0010-8638-930a-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2023.1",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-16T17:06:39.416878Z",
                    "start": "2026-02-16T17:06:30.823273Z"
                },
                "id": "0242ac17-0010-9d93-1c34-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1771261594,
                            "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 2 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 1s (693 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 ... 30406 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 2 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 1s (693 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 ... 30406 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-16T17:06:39.416878Z",
                            "start": "2026-02-16T17:06:30.835299Z"
                        },
                        "id": "0242ac17-0010-9d93-1c34-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-16T17:13:11.233340Z",
                    "start": "2026-02-16T17:06:40.144775Z"
                },
                "id": "0242ac17-0010-a68b-2a53-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "8d61605a6d1830f70f9eba9c0e65e4116a393136",
                            "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": "8d61605a6d1830f70f9eba9c0e65e4116a393136",
                                    "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-1771261600.1954865-5-17718059607446/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a8ddf72eec621e0bc7570803132af6bc",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 26418,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1771261600.1954865-5-17718059607446/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:06:40.952760Z",
                            "start": "2026-02-16T17:06:40.157419Z"
                        },
                        "id": "0242ac17-0010-a68b-2a53-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-16T17:06:41.218867Z",
                            "start": "2026-02-16T17:06:40.959780Z"
                        },
                        "id": "0242ac17-0010-a68b-2a53-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "csi"
                            ],
                            "delta": "0:06:29.341502",
                            "end": "2026-02-16 17:13:10.928745",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s csi",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-a68b-2a53-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-02-16 17:06:41.587243",
                            "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 cryptography (4.2MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading netaddr (2.2MiB)\nDownloading pygments (1.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading setuptools (1.1MiB)\nDownloading ansible-core (2.1MiB)\nDownloading kubernetes (1.9MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\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 79 packages in 57ms\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] *********************************************************\nMonday 16 February 2026  17:07:27 +0000 (0:00:00.027)       0:00:00.027 *******\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] ************************************************\nMonday 16 February 2026  17:07:28 +0000 (0:00:01.120)       0:00:01.147 *******\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nMonday 16 February 2026  17:07:29 +0000 (0:00:00.633)       0:00:01.780 *******\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] ***************************************************\nMonday 16 February 2026  17:07:29 +0000 (0:00:00.251)       0:00:02.032 *******\nok: [instance]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:07:30 +0000 (0:00:00.738)       0:00:02.770 *******\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nMonday 16 February 2026  17:07:31 +0000 (0:00:00.679)       0:00:03.450 *******\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nMonday 16 February 2026  17:07:50 +0000 (0:00:18.985)       0:00:22.435 *******\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nMonday 16 February 2026  17:07:50 +0000 (0:00:00.549)       0:00:22.985 *******\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nMonday 16 February 2026  17:07:50 +0000 (0:00:00.264)       0:00:23.250 *******\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nMonday 16 February 2026  17:07:51 +0000 (0:00:00.603)       0:00:23.853 *******\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nMonday 16 February 2026  17:07:51 +0000 (0:00:00.190)       0:00:24.044 *******\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nMonday 16 February 2026  17:07:51 +0000 (0:00:00.017)       0:00:24.061 *******\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nMonday 16 February 2026  17:07:52 +0000 (0:00:00.555)       0:00:24.616 *******\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nMonday 16 February 2026  17:07:52 +0000 (0:00:00.608)       0:00:25.225 *******\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nMonday 16 February 2026  17:07:53 +0000 (0:00:00.631)       0:00:25.856 *******\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nMonday 16 February 2026  17:07:56 +0000 (0:00:02.603)       0:00:28.460 *******\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\nMonday 16 February 2026  17:07:57 +0000 (0:00:01.679)       0:00:30.139 *******\n===============================================================================\nInstall depedencies ---------------------------------------------------- 18.99s\nCreate a volume group for each loop device ------------------------------ 2.60s\nCreate a logical volume for each loop device ---------------------------- 1.68s\nGathering Facts --------------------------------------------------------- 1.12s\nPurge \"snapd\" package --------------------------------------------------- 0.74s\nGathering Facts --------------------------------------------------------- 0.68s\nConfigure short hostname ------------------------------------------------ 0.63s\nStart loop devices ------------------------------------------------------ 0.63s\nSet permissions on loopback devices ------------------------------------- 0.61s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.60s\nCreate devices for Ceph ------------------------------------------------- 0.56s\nStart up service -------------------------------------------------------- 0.55s\nGenerate lvm.conf ------------------------------------------------------- 0.26s\nEnsure hostname inside hosts file --------------------------------------- 0.25s\nGet list of all loopback devices ---------------------------------------- 0.19s\nFail if there is any existing loopback devices -------------------------- 0.02s\nINFO     [csi > prepare] Executed: Successful\nINFO     [csi > converge] Executing\n\nPLAY [Debug CSI driver value] **************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:07:59 +0000 (0:00:00.011)       0:00:00.011 *******\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] ***********************\nMonday 16 February 2026  17:08:00 +0000 (0:00:00.931)       0:00:00.942 *******\nok: [instance] => {\n    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"\n}\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:08:00 +0000 (0:00:00.040)       0:00:00.983 *******\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nMonday 16 February 2026  17:08:00 +0000 (0:00:00.802)       0:00:01.786 *******\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:08:01 +0000 (0:00:00.176)       0:00:01.962 *******\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:08:01 +0000 (0:00:00.803)       0:00:02.766 *******\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:08:02 +0000 (0:00:00.261)       0:00:03.028 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 16 February 2026  17:08:02 +0000 (0:00:00.041)       0:00:03.070 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:08:02 +0000 (0:00:00.274)       0:00:03.344 *******\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] *******************\nMonday 16 February 2026  17:08:02 +0000 (0:00:00.073)       0:00:03.418 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:08:03 +0000 (0:00:00.635)       0:00:04.054 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:08:03 +0000 (0:00:00.046)       0:00:04.101 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:08:03 +0000 (0:00:00.048)       0:00:04.149 *******\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:08:03 +0000 (0:00:00.196)       0:00:04.346 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:08:04 +0000 (0:00:01.051)       0:00:05.397 *******\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] *******************\nMonday 16 February 2026  17:08:04 +0000 (0:00:00.062)       0:00:05.460 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:08:05 +0000 (0:00:00.713)       0:00:06.173 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 February 2026  17:08:08 +0000 (0:00:02.763)       0:00:08.936 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 February 2026  17:08:08 +0000 (0:00:00.024)       0:00:08.961 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 February 2026  17:08:08 +0000 (0:00:00.026)       0:00:08.988 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 February 2026  17:08:08 +0000 (0:00:00.022)       0:00:09.010 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 February 2026  17:08:12 +0000 (0:00:04.689)       0:00:13.700 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 February 2026  17:08:13 +0000 (0:00:00.475)       0:00:14.176 *******\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] **********\nMonday 16 February 2026  17:08:14 +0000 (0:00:00.829)       0:00:15.005 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 February 2026  17:08:14 +0000 (0:00:00.480)       0:00:15.486 *******\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nMonday 16 February 2026  17:08:14 +0000 (0:00:00.017)       0:00:15.503 *******\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nMonday 16 February 2026  17:08:15 +0000 (0:00:00.938)       0:00:16.442 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 February 2026  17:08:15 +0000 (0:00:00.414)       0:00:16.856 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:08:16 +0000 (0:00:00.545)       0:00:17.402 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:08:16 +0000 (0:00:00.178)       0:00:17.581 *******\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] *******************\nMonday 16 February 2026  17:08:16 +0000 (0:00:00.048)       0:00:17.629 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:08:17 +0000 (0:00:00.804)       0:00:18.433 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nMonday 16 February 2026  17:08:21 +0000 (0:00:04.256)       0:00:22.690 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nMonday 16 February 2026  17:08:22 +0000 (0:00:00.917)       0:00:23.607 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nMonday 16 February 2026  17:08:23 +0000 (0:00:00.353)       0:00:23.960 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nMonday 16 February 2026  17:08:23 +0000 (0:00:00.410)       0:00:24.371 *******\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] ******\nMonday 16 February 2026  17:08:24 +0000 (0:00:00.523)       0:00:24.895 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nMonday 16 February 2026  17:08:24 +0000 (0:00:00.377)       0:00:25.272 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nMonday 16 February 2026  17:08:24 +0000 (0:00:00.396)       0:00:25.669 *******\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nMonday 16 February 2026  17:08:24 +0000 (0:00:00.018)       0:00:25.688 *******\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nMonday 16 February 2026  17:08:25 +0000 (0:00:00.780)       0:00:26.468 *******\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nMonday 16 February 2026  17:08:26 +0000 (0:00:00.844)       0:00:27.313 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nMonday 16 February 2026  17:08:26 +0000 (0:00:00.555)       0:00:27.869 *******\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] ********************************\nMonday 16 February 2026  17:08:27 +0000 (0:00:00.047)       0:00:27.916 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nMonday 16 February 2026  17:08:31 +0000 (0:00:04.553)       0:00:32.470 *******\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nMonday 16 February 2026  17:08:32 +0000 (0:00:00.606)       0:00:33.076 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nMonday 16 February 2026  17:08:32 +0000 (0:00:00.260)       0:00:33.337 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nMonday 16 February 2026  17:08:32 +0000 (0:00:00.185)       0:00:33.523 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nMonday 16 February 2026  17:08:33 +0000 (0:00:00.418)       0:00:33.941 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nMonday 16 February 2026  17:08:33 +0000 (0:00:00.310)       0:00:34.251 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nMonday 16 February 2026  17:08:34 +0000 (0:00:01.575)       0:00:35.827 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nMonday 16 February 2026  17:08:34 +0000 (0:00:00.046)       0:00:35.873 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.029)       0:00:35.903 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.028)       0:00:35.931 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.028)       0:00:35.959 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.027)       0:00:35.987 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.029)       0:00:36.016 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.028)       0:00:36.044 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.031)       0:00:36.076 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.107)       0:00:36.184 *******\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.201)       0:00:36.385 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.048)       0:00:36.433 *******\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\"] *************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.067)       0:00:36.501 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nMonday 16 February 2026  17:08:35 +0000 (0:00:00.300)       0:00:36.802 *******\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] *******************************\nMonday 16 February 2026  17:08:36 +0000 (0:00:00.607)       0:00:37.409 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nMonday 16 February 2026  17:10:01 +0000 (0:01:24.684)       0:02:02.093 *******\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nMonday 16 February 2026  17:10:01 +0000 (0:00:00.223)       0:02:02.317 *******\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 16 February 2026  17:10:01 +0000 (0:00:00.032)       0:02:02.350 *******\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 16 February 2026  17:10:01 +0000 (0:00:00.071)       0:02:02.421 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 16 February 2026  17:10:02 +0000 (0:00:01.317)       0:02:03.739 *******\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 16 February 2026  17:10:02 +0000 (0:00:00.046)       0:02:03.785 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 16 February 2026  17:10:03 +0000 (0:00:00.357)       0:02:04.143 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nMonday 16 February 2026  17:10:04 +0000 (0:00:01.738)       0:02:05.882 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nMonday 16 February 2026  17:10:06 +0000 (0:00:01.352)       0:02:07.234 *******\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 16 February 2026  17:10:16 +0000 (0:00:10.057)       0:02:17.292 *******\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 16 February 2026  17:10:16 +0000 (0:00:00.063)       0:02:17.355 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 16 February 2026  17:10:16 +0000 (0:00:00.049)       0:02:17.405 *******\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 16 February 2026  17:10:16 +0000 (0:00:00.048)       0:02:17.453 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 16 February 2026  17:10:16 +0000 (0:00:00.244)       0:02:17.697 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nMonday 16 February 2026  17:10:18 +0000 (0:00:01.747)       0:02:19.445 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nMonday 16 February 2026  17:10:19 +0000 (0:00:01.397)       0:02:20.843 *******\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nMonday 16 February 2026  17:10:21 +0000 (0:00:01.293)       0:02:22.137 *******\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:10:23 +0000 (0:00:01.832)       0:02:23.970 *******\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:10:23 +0000 (0:00:00.775)       0:02:24.745 *******\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.187)       0:02:24.932 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.029)       0:02:24.962 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.198)       0:02:25.160 *******\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] *******************\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.041)       0:02:25.202 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.268)       0:02:25.471 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.033)       0:02:25.504 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.032)       0:02:25.537 *******\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:10:24 +0000 (0:00:00.191)       0:02:25.728 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:10:25 +0000 (0:00:00.916)       0:02:26.645 *******\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] *******************\nMonday 16 February 2026  17:10:25 +0000 (0:00:00.052)       0:02:26.698 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:10:26 +0000 (0:00:00.308)       0:02:27.006 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 February 2026  17:10:28 +0000 (0:00:01.886)       0:02:28.893 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 February 2026  17:10:28 +0000 (0:00:00.021)       0:02:28.915 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 February 2026  17:10:28 +0000 (0:00:00.019)       0:02:28.934 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 February 2026  17:10:28 +0000 (0:00:00.023)       0:02:28.957 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 February 2026  17:10:29 +0000 (0:00:00.956)       0:02:29.914 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 February 2026  17:10:29 +0000 (0:00:00.374)       0:02:30.288 *******\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] **********\nMonday 16 February 2026  17:10:30 +0000 (0:00:00.898)       0:02:31.187 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 February 2026  17:10:30 +0000 (0:00:00.688)       0:02:31.875 *******\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 February 2026  17:10:31 +0000 (0:00:00.020)       0:02:31.895 *******\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:10:31 +0000 (0:00:00.331)       0:02:32.227 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:10:31 +0000 (0:00:00.194)       0:02:32.422 *******\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] *******************\nMonday 16 February 2026  17:10:31 +0000 (0:00:00.048)       0:02:32.470 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:10:31 +0000 (0:00:00.335)       0:02:32.806 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nMonday 16 February 2026  17:10:34 +0000 (0:00:03.012)       0:02:35.818 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nMonday 16 February 2026  17:10:35 +0000 (0:00:00.965)       0:02:36.784 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nMonday 16 February 2026  17:10:36 +0000 (0:00:00.196)       0:02:36.980 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nMonday 16 February 2026  17:10:36 +0000 (0:00:00.414)       0:02:37.395 *******\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] ******\nMonday 16 February 2026  17:10:37 +0000 (0:00:00.534)       0:02:37.930 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nMonday 16 February 2026  17:10:37 +0000 (0:00:00.404)       0:02:38.334 *******\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nMonday 16 February 2026  17:10:37 +0000 (0:00:00.400)       0:02:38.734 *******\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nMonday 16 February 2026  17:10:37 +0000 (0:00:00.015)       0:02:38.750 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nMonday 16 February 2026  17:10:38 +0000 (0:00:00.365)       0:02:39.115 *******\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] ********************************\nMonday 16 February 2026  17:10:38 +0000 (0:00:00.049)       0:02:39.164 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nMonday 16 February 2026  17:10:39 +0000 (0:00:01.219)       0:02:40.384 *******\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nMonday 16 February 2026  17:10:40 +0000 (0:00:00.656)       0:02:41.041 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nMonday 16 February 2026  17:10:40 +0000 (0:00:00.304)       0:02:41.346 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nMonday 16 February 2026  17:10:40 +0000 (0:00:00.205)       0:02:41.551 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nMonday 16 February 2026  17:10:40 +0000 (0:00:00.244)       0:02:41.796 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nMonday 16 February 2026  17:10:41 +0000 (0:00:00.218)       0:02:42.015 *******\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nMonday 16 February 2026  17:10:41 +0000 (0:00:00.207)       0:02:42.222 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nMonday 16 February 2026  17:10:41 +0000 (0:00:00.041)       0:02:42.264 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nMonday 16 February 2026  17:10:46 +0000 (0:00:05.234)       0:02:47.499 *******\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 16 February 2026  17:10:46 +0000 (0:00:00.048)       0:02:47.548 *******\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 16 February 2026  17:10:46 +0000 (0:00:00.064)       0:02:47.612 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 16 February 2026  17:10:46 +0000 (0:00:00.043)       0:02:47.656 *******\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 16 February 2026  17:10:46 +0000 (0:00:00.041)       0:02:47.697 *******\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 16 February 2026  17:10:47 +0000 (0:00:00.233)       0:02:47.931 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nMonday 16 February 2026  17:10:48 +0000 (0:00:01.773)       0:02:49.704 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nMonday 16 February 2026  17:10:48 +0000 (0:00:00.026)       0:02:49.731 *******\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nMonday 16 February 2026  17:10:48 +0000 (0:00:00.024)       0:02:49.755 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nMonday 16 February 2026  17:10:54 +0000 (0:00:05.278)       0:02:55.034 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nMonday 16 February 2026  17:11:04 +0000 (0:00:09.869)       0:03:04.903 *******\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] ****************************************\nMonday 16 February 2026  17:12:24 +0000 (0:01:20.903)       0:04:25.806 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nMonday 16 February 2026  17:12:26 +0000 (0:00:01.582)       0:04:27.389 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nMonday 16 February 2026  17:12:28 +0000 (0:00:01.582)       0:04:28.972 *******\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] *********************************\nMonday 16 February 2026  17:12:28 +0000 (0:00:00.061)       0:04:29.034 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nMonday 16 February 2026  17:12:28 +0000 (0:00:00.057)       0:04:29.091 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nMonday 16 February 2026  17:12:29 +0000 (0:00:01.522)       0:04:30.613 *******\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nMonday 16 February 2026  17:12:29 +0000 (0:00:00.043)       0:04:30.656 *******\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] ************************\nMonday 16 February 2026  17:12:29 +0000 (0:00:00.043)       0:04:30.700 *******\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nMonday 16 February 2026  17:12:29 +0000 (0:00:00.046)       0:04:30.747 *******\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:12:30 +0000 (0:00:00.367)       0:04:31.114 *******\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nMonday 16 February 2026  17:12:31 +0000 (0:00:00.888)       0:04:32.003 *******\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] ***\nMonday 16 February 2026  17:12:35 +0000 (0:00:04.609)       0:04:36.612 *******\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nMonday 16 February 2026  17:12:35 +0000 (0:00:00.204)       0:04:36.817 *******\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nMonday 16 February 2026  17:12:36 +0000 (0:00:00.442)       0:04:37.259 *******\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nMonday 16 February 2026  17:12:36 +0000 (0:00:00.253)       0:04:37.512 *******\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:12:36 +0000 (0:00:00.064)       0:04:37.577 *******\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nMonday 16 February 2026  17:12:37 +0000 (0:00:00.891)       0:04:38.468 *******\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nMonday 16 February 2026  17:12:37 +0000 (0:00:00.237)       0:04:38.706 *******\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] ****\nMonday 16 February 2026  17:12:38 +0000 (0:00:00.845)       0:04:39.551 *******\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] *********\nMonday 16 February 2026  17:12:39 +0000 (0:00:00.520)       0:04:40.072 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nMonday 16 February 2026  17:12:39 +0000 (0:00:00.186)       0:04:40.258 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nMonday 16 February 2026  17:12:39 +0000 (0:00:00.185)       0:04:40.444 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nMonday 16 February 2026  17:12:39 +0000 (0:00:00.029)       0:04:40.474 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nMonday 16 February 2026  17:12:39 +0000 (0:00:00.038)       0:04:40.512 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nMonday 16 February 2026  17:12:40 +0000 (0:00:00.521)       0:04:41.033 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nMonday 16 February 2026  17:12:40 +0000 (0:00:00.179)       0:04:41.213 *******\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 16 February 2026  17:12:40 +0000 (0:00:00.090)       0:04:41.304 *******\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:12:41 +0000 (0:00:00.843)       0:04:42.148 *******\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:12:41 +0000 (0:00:00.216)       0:04:42.364 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 16 February 2026  17:12:41 +0000 (0:00:00.039)       0:04:42.404 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:12:41 +0000 (0:00:00.203)       0:04:42.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] *******************\nMonday 16 February 2026  17:12:41 +0000 (0:00:00.047)       0:04:42.655 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:12:42 +0000 (0:00:00.293)       0:04:42.948 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:12:42 +0000 (0:00:00.037)       0:04:42.986 *******\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 16 February 2026  17:12:42 +0000 (0:00:00.183)       0:04:43.170 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:12:43 +0000 (0:00:00.981)       0:04:44.152 *******\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] *******************\nMonday 16 February 2026  17:12:43 +0000 (0:00:00.078)       0:04:44.231 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 16 February 2026  17:12:43 +0000 (0:00:00.336)       0:04:44.567 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 16 February 2026  17:12:45 +0000 (0:00:01.879)       0:04:46.447 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 16 February 2026  17:12:45 +0000 (0:00:00.023)       0:04:46.471 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 16 February 2026  17:12:45 +0000 (0:00:00.026)       0:04:46.497 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 16 February 2026  17:12:45 +0000 (0:00:00.026)       0:04:46.524 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 16 February 2026  17:12:46 +0000 (0:00:00.920)       0:04:47.445 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 16 February 2026  17:12:46 +0000 (0:00:00.379)       0:04:47.824 *******\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] **********\nMonday 16 February 2026  17:12:47 +0000 (0:00:00.826)       0:04:48.650 *******\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 16 February 2026  17:12:48 +0000 (0:00:00.466)       0:04:49.117 *******\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 16 February 2026  17:12:48 +0000 (0:00:00.007)       0:04:49.125 *******\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nMonday 16 February 2026  17:12:48 +0000 (0:00:00.364)       0:04:49.489 *******\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] ***\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.522)       0:04:50.012 *******\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.032)       0:04:50.044 *******\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.039)       0:04:50.083 *******\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.029)       0:04:50.113 *******\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.031)       0:04:50.144 *******\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.045)       0:04:50.190 *******\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.207)       0:04:50.397 *******\nok: [instance] => {\n    \"msg\": \"https://cdn.dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 16 February 2026  17:12:49 +0000 (0:00:00.038)       0:04:50.435 *******\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=149  changed=31   unreachable=0    failed=1    skipped=37   rescued=0    ignored=2\n\nMonday 16 February 2026  17:13:10 +0000 (0:00:21.221)       0:05:11.657 *******\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 84.68s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 80.90s\nvexxhost.containers.download_artifact : Download item ------------------ 21.22s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.06s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------- 9.87s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.23s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 4.69s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 4.61s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 4.55s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.26s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.01s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.76s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.89s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.88s\nvexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 1.83s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.77s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.75s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.74s\nvexxhost.containers.containerd : Reload systemd ------------------------- 1.72s\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 cryptography (4.2MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " 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 79 packages in 57ms",
                                "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] *********************************************************",
                                "Monday 16 February 2026  17:07:27 +0000 (0:00:00.027)       0:00:00.027 *******",
                                "[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] ************************************************",
                                "Monday 16 February 2026  17:07:28 +0000 (0:00:01.120)       0:00:01.147 *******",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Monday 16 February 2026  17:07:29 +0000 (0:00:00.633)       0:00:01.780 *******",
                                "[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] ***************************************************",
                                "Monday 16 February 2026  17:07:29 +0000 (0:00:00.251)       0:00:02.032 *******",
                                "ok: [instance]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:07:30 +0000 (0:00:00.738)       0:00:02.770 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Monday 16 February 2026  17:07:31 +0000 (0:00:00.679)       0:00:03.450 *******",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Monday 16 February 2026  17:07:50 +0000 (0:00:18.985)       0:00:22.435 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Monday 16 February 2026  17:07:50 +0000 (0:00:00.549)       0:00:22.985 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Monday 16 February 2026  17:07:50 +0000 (0:00:00.264)       0:00:23.250 *******",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Monday 16 February 2026  17:07:51 +0000 (0:00:00.603)       0:00:23.853 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Monday 16 February 2026  17:07:51 +0000 (0:00:00.190)       0:00:24.044 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Monday 16 February 2026  17:07:51 +0000 (0:00:00.017)       0:00:24.061 *******",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Monday 16 February 2026  17:07:52 +0000 (0:00:00.555)       0:00:24.616 *******",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Monday 16 February 2026  17:07:52 +0000 (0:00:00.608)       0:00:25.225 *******",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Monday 16 February 2026  17:07:53 +0000 (0:00:00.631)       0:00:25.856 *******",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Monday 16 February 2026  17:07:56 +0000 (0:00:02.603)       0:00:28.460 *******",
                                "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",
                                "",
                                "Monday 16 February 2026  17:07:57 +0000 (0:00:01.679)       0:00:30.139 *******",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 18.99s",
                                "Create a volume group for each loop device ------------------------------ 2.60s",
                                "Create a logical volume for each loop device ---------------------------- 1.68s",
                                "Gathering Facts --------------------------------------------------------- 1.12s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.74s",
                                "Gathering Facts --------------------------------------------------------- 0.68s",
                                "Configure short hostname ------------------------------------------------ 0.63s",
                                "Start loop devices ------------------------------------------------------ 0.63s",
                                "Set permissions on loopback devices ------------------------------------- 0.61s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.60s",
                                "Create devices for Ceph ------------------------------------------------- 0.56s",
                                "Start up service -------------------------------------------------------- 0.55s",
                                "Generate lvm.conf ------------------------------------------------------- 0.26s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.25s",
                                "Get list of all loopback devices ---------------------------------------- 0.19s",
                                "Fail if there is any existing loopback devices -------------------------- 0.02s",
                                "INFO     [csi > prepare] Executed: Successful",
                                "INFO     [csi > converge] Executing",
                                "",
                                "PLAY [Debug CSI driver value] **************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:07:59 +0000 (0:00:00.011)       0:00:00.011 *******",
                                "[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] ***********************",
                                "Monday 16 February 2026  17:08:00 +0000 (0:00:00.931)       0:00:00.942 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"",
                                "}",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:08:00 +0000 (0:00:00.040)       0:00:00.983 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Monday 16 February 2026  17:08:00 +0000 (0:00:00.802)       0:00:01.786 *******",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:08:01 +0000 (0:00:00.176)       0:00:01.962 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:08:01 +0000 (0:00:00.803)       0:00:02.766 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:08:02 +0000 (0:00:00.261)       0:00:03.028 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 16 February 2026  17:08:02 +0000 (0:00:00.041)       0:00:03.070 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:08:02 +0000 (0:00:00.274)       0:00:03.344 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 February 2026  17:08:02 +0000 (0:00:00.073)       0:00:03.418 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:08:03 +0000 (0:00:00.635)       0:00:04.054 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:08:03 +0000 (0:00:00.046)       0:00:04.101 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:08:03 +0000 (0:00:00.048)       0:00:04.149 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:08:03 +0000 (0:00:00.196)       0:00:04.346 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:08:04 +0000 (0:00:01.051)       0:00:05.397 *******",
                                "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] *******************",
                                "Monday 16 February 2026  17:08:04 +0000 (0:00:00.062)       0:00:05.460 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:08:05 +0000 (0:00:00.713)       0:00:06.173 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 February 2026  17:08:08 +0000 (0:00:02.763)       0:00:08.936 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 February 2026  17:08:08 +0000 (0:00:00.024)       0:00:08.961 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 February 2026  17:08:08 +0000 (0:00:00.026)       0:00:08.988 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 February 2026  17:08:08 +0000 (0:00:00.022)       0:00:09.010 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 February 2026  17:08:12 +0000 (0:00:04.689)       0:00:13.700 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 February 2026  17:08:13 +0000 (0:00:00.475)       0:00:14.176 *******",
                                "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] **********",
                                "Monday 16 February 2026  17:08:14 +0000 (0:00:00.829)       0:00:15.005 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 February 2026  17:08:14 +0000 (0:00:00.480)       0:00:15.486 *******",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Monday 16 February 2026  17:08:14 +0000 (0:00:00.017)       0:00:15.503 *******",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Monday 16 February 2026  17:08:15 +0000 (0:00:00.938)       0:00:16.442 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 February 2026  17:08:15 +0000 (0:00:00.414)       0:00:16.856 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:08:16 +0000 (0:00:00.545)       0:00:17.402 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:08:16 +0000 (0:00:00.178)       0:00:17.581 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 February 2026  17:08:16 +0000 (0:00:00.048)       0:00:17.629 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:08:17 +0000 (0:00:00.804)       0:00:18.433 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Monday 16 February 2026  17:08:21 +0000 (0:00:04.256)       0:00:22.690 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Monday 16 February 2026  17:08:22 +0000 (0:00:00.917)       0:00:23.607 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Monday 16 February 2026  17:08:23 +0000 (0:00:00.353)       0:00:23.960 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Monday 16 February 2026  17:08:23 +0000 (0:00:00.410)       0:00:24.371 *******",
                                "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] ******",
                                "Monday 16 February 2026  17:08:24 +0000 (0:00:00.523)       0:00:24.895 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Monday 16 February 2026  17:08:24 +0000 (0:00:00.377)       0:00:25.272 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Monday 16 February 2026  17:08:24 +0000 (0:00:00.396)       0:00:25.669 *******",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Monday 16 February 2026  17:08:24 +0000 (0:00:00.018)       0:00:25.688 *******",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Monday 16 February 2026  17:08:25 +0000 (0:00:00.780)       0:00:26.468 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Monday 16 February 2026  17:08:26 +0000 (0:00:00.844)       0:00:27.313 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Monday 16 February 2026  17:08:26 +0000 (0:00:00.555)       0:00:27.869 *******",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Monday 16 February 2026  17:08:27 +0000 (0:00:00.047)       0:00:27.916 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Monday 16 February 2026  17:08:31 +0000 (0:00:04.553)       0:00:32.470 *******",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Monday 16 February 2026  17:08:32 +0000 (0:00:00.606)       0:00:33.076 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Monday 16 February 2026  17:08:32 +0000 (0:00:00.260)       0:00:33.337 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Monday 16 February 2026  17:08:32 +0000 (0:00:00.185)       0:00:33.523 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Monday 16 February 2026  17:08:33 +0000 (0:00:00.418)       0:00:33.941 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Monday 16 February 2026  17:08:33 +0000 (0:00:00.310)       0:00:34.251 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Monday 16 February 2026  17:08:34 +0000 (0:00:01.575)       0:00:35.827 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Monday 16 February 2026  17:08:34 +0000 (0:00:00.046)       0:00:35.873 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.029)       0:00:35.903 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.028)       0:00:35.931 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.028)       0:00:35.959 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.027)       0:00:35.987 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.029)       0:00:36.016 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.028)       0:00:36.044 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.031)       0:00:36.076 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.107)       0:00:36.184 *******",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.201)       0:00:36.385 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.048)       0:00:36.433 *******",
                                "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\"] *************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.067)       0:00:36.501 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Monday 16 February 2026  17:08:35 +0000 (0:00:00.300)       0:00:36.802 *******",
                                "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] *******************************",
                                "Monday 16 February 2026  17:08:36 +0000 (0:00:00.607)       0:00:37.409 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Monday 16 February 2026  17:10:01 +0000 (0:01:24.684)       0:02:02.093 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Monday 16 February 2026  17:10:01 +0000 (0:00:00.223)       0:02:02.317 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 16 February 2026  17:10:01 +0000 (0:00:00.032)       0:02:02.350 *******",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 16 February 2026  17:10:01 +0000 (0:00:00.071)       0:02:02.421 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 16 February 2026  17:10:02 +0000 (0:00:01.317)       0:02:03.739 *******",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 16 February 2026  17:10:02 +0000 (0:00:00.046)       0:02:03.785 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 16 February 2026  17:10:03 +0000 (0:00:00.357)       0:02:04.143 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Monday 16 February 2026  17:10:04 +0000 (0:00:01.738)       0:02:05.882 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Monday 16 February 2026  17:10:06 +0000 (0:00:01.352)       0:02:07.234 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 16 February 2026  17:10:16 +0000 (0:00:10.057)       0:02:17.292 *******",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 16 February 2026  17:10:16 +0000 (0:00:00.063)       0:02:17.355 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 16 February 2026  17:10:16 +0000 (0:00:00.049)       0:02:17.405 *******",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 16 February 2026  17:10:16 +0000 (0:00:00.048)       0:02:17.453 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 16 February 2026  17:10:16 +0000 (0:00:00.244)       0:02:17.697 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Monday 16 February 2026  17:10:18 +0000 (0:00:01.747)       0:02:19.445 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Monday 16 February 2026  17:10:19 +0000 (0:00:01.397)       0:02:20.843 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Monday 16 February 2026  17:10:21 +0000 (0:00:01.293)       0:02:22.137 *******",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:10:23 +0000 (0:00:01.832)       0:02:23.970 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:10:23 +0000 (0:00:00.775)       0:02:24.745 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.187)       0:02:24.932 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.029)       0:02:24.962 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.198)       0:02:25.160 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.041)       0:02:25.202 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.268)       0:02:25.471 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.033)       0:02:25.504 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.032)       0:02:25.537 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:10:24 +0000 (0:00:00.191)       0:02:25.728 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:10:25 +0000 (0:00:00.916)       0:02:26.645 *******",
                                "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] *******************",
                                "Monday 16 February 2026  17:10:25 +0000 (0:00:00.052)       0:02:26.698 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:10:26 +0000 (0:00:00.308)       0:02:27.006 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 February 2026  17:10:28 +0000 (0:00:01.886)       0:02:28.893 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 February 2026  17:10:28 +0000 (0:00:00.021)       0:02:28.915 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 February 2026  17:10:28 +0000 (0:00:00.019)       0:02:28.934 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 February 2026  17:10:28 +0000 (0:00:00.023)       0:02:28.957 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 February 2026  17:10:29 +0000 (0:00:00.956)       0:02:29.914 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 February 2026  17:10:29 +0000 (0:00:00.374)       0:02:30.288 *******",
                                "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] **********",
                                "Monday 16 February 2026  17:10:30 +0000 (0:00:00.898)       0:02:31.187 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 February 2026  17:10:30 +0000 (0:00:00.688)       0:02:31.875 *******",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 February 2026  17:10:31 +0000 (0:00:00.020)       0:02:31.895 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:10:31 +0000 (0:00:00.331)       0:02:32.227 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:10:31 +0000 (0:00:00.194)       0:02:32.422 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 February 2026  17:10:31 +0000 (0:00:00.048)       0:02:32.470 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:10:31 +0000 (0:00:00.335)       0:02:32.806 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Monday 16 February 2026  17:10:34 +0000 (0:00:03.012)       0:02:35.818 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Monday 16 February 2026  17:10:35 +0000 (0:00:00.965)       0:02:36.784 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Monday 16 February 2026  17:10:36 +0000 (0:00:00.196)       0:02:36.980 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Monday 16 February 2026  17:10:36 +0000 (0:00:00.414)       0:02:37.395 *******",
                                "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] ******",
                                "Monday 16 February 2026  17:10:37 +0000 (0:00:00.534)       0:02:37.930 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Monday 16 February 2026  17:10:37 +0000 (0:00:00.404)       0:02:38.334 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Monday 16 February 2026  17:10:37 +0000 (0:00:00.400)       0:02:38.734 *******",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Monday 16 February 2026  17:10:37 +0000 (0:00:00.015)       0:02:38.750 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Monday 16 February 2026  17:10:38 +0000 (0:00:00.365)       0:02:39.115 *******",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Monday 16 February 2026  17:10:38 +0000 (0:00:00.049)       0:02:39.164 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Monday 16 February 2026  17:10:39 +0000 (0:00:01.219)       0:02:40.384 *******",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Monday 16 February 2026  17:10:40 +0000 (0:00:00.656)       0:02:41.041 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Monday 16 February 2026  17:10:40 +0000 (0:00:00.304)       0:02:41.346 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Monday 16 February 2026  17:10:40 +0000 (0:00:00.205)       0:02:41.551 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Monday 16 February 2026  17:10:40 +0000 (0:00:00.244)       0:02:41.796 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Monday 16 February 2026  17:10:41 +0000 (0:00:00.218)       0:02:42.015 *******",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Monday 16 February 2026  17:10:41 +0000 (0:00:00.207)       0:02:42.222 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Monday 16 February 2026  17:10:41 +0000 (0:00:00.041)       0:02:42.264 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Monday 16 February 2026  17:10:46 +0000 (0:00:05.234)       0:02:47.499 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 16 February 2026  17:10:46 +0000 (0:00:00.048)       0:02:47.548 *******",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 16 February 2026  17:10:46 +0000 (0:00:00.064)       0:02:47.612 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 16 February 2026  17:10:46 +0000 (0:00:00.043)       0:02:47.656 *******",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 16 February 2026  17:10:46 +0000 (0:00:00.041)       0:02:47.697 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 16 February 2026  17:10:47 +0000 (0:00:00.233)       0:02:47.931 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Monday 16 February 2026  17:10:48 +0000 (0:00:01.773)       0:02:49.704 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Monday 16 February 2026  17:10:48 +0000 (0:00:00.026)       0:02:49.731 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Monday 16 February 2026  17:10:48 +0000 (0:00:00.024)       0:02:49.755 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Monday 16 February 2026  17:10:54 +0000 (0:00:05.278)       0:02:55.034 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Monday 16 February 2026  17:11:04 +0000 (0:00:09.869)       0:03:04.903 *******",
                                "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] ****************************************",
                                "Monday 16 February 2026  17:12:24 +0000 (0:01:20.903)       0:04:25.806 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Monday 16 February 2026  17:12:26 +0000 (0:00:01.582)       0:04:27.389 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Monday 16 February 2026  17:12:28 +0000 (0:00:01.582)       0:04:28.972 *******",
                                "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] *********************************",
                                "Monday 16 February 2026  17:12:28 +0000 (0:00:00.061)       0:04:29.034 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Monday 16 February 2026  17:12:28 +0000 (0:00:00.057)       0:04:29.091 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Monday 16 February 2026  17:12:29 +0000 (0:00:01.522)       0:04:30.613 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Monday 16 February 2026  17:12:29 +0000 (0:00:00.043)       0:04:30.656 *******",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Monday 16 February 2026  17:12:29 +0000 (0:00:00.043)       0:04:30.700 *******",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Monday 16 February 2026  17:12:29 +0000 (0:00:00.046)       0:04:30.747 *******",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:12:30 +0000 (0:00:00.367)       0:04:31.114 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Monday 16 February 2026  17:12:31 +0000 (0:00:00.888)       0:04:32.003 *******",
                                "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] ***",
                                "Monday 16 February 2026  17:12:35 +0000 (0:00:04.609)       0:04:36.612 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Monday 16 February 2026  17:12:35 +0000 (0:00:00.204)       0:04:36.817 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Monday 16 February 2026  17:12:36 +0000 (0:00:00.442)       0:04:37.259 *******",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Monday 16 February 2026  17:12:36 +0000 (0:00:00.253)       0:04:37.512 *******",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:12:36 +0000 (0:00:00.064)       0:04:37.577 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Monday 16 February 2026  17:12:37 +0000 (0:00:00.891)       0:04:38.468 *******",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Monday 16 February 2026  17:12:37 +0000 (0:00:00.237)       0:04:38.706 *******",
                                "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] ****",
                                "Monday 16 February 2026  17:12:38 +0000 (0:00:00.845)       0:04:39.551 *******",
                                "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] *********",
                                "Monday 16 February 2026  17:12:39 +0000 (0:00:00.520)       0:04:40.072 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Monday 16 February 2026  17:12:39 +0000 (0:00:00.186)       0:04:40.258 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Monday 16 February 2026  17:12:39 +0000 (0:00:00.185)       0:04:40.444 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Monday 16 February 2026  17:12:39 +0000 (0:00:00.029)       0:04:40.474 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Monday 16 February 2026  17:12:39 +0000 (0:00:00.038)       0:04:40.512 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Monday 16 February 2026  17:12:40 +0000 (0:00:00.521)       0:04:41.033 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Monday 16 February 2026  17:12:40 +0000 (0:00:00.179)       0:04:41.213 *******",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 16 February 2026  17:12:40 +0000 (0:00:00.090)       0:04:41.304 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:12:41 +0000 (0:00:00.843)       0:04:42.148 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:12:41 +0000 (0:00:00.216)       0:04:42.364 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 16 February 2026  17:12:41 +0000 (0:00:00.039)       0:04:42.404 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:12:41 +0000 (0:00:00.203)       0:04:42.607 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 February 2026  17:12:41 +0000 (0:00:00.047)       0:04:42.655 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:12:42 +0000 (0:00:00.293)       0:04:42.948 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:12:42 +0000 (0:00:00.037)       0:04:42.986 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 16 February 2026  17:12:42 +0000 (0:00:00.183)       0:04:43.170 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:12:43 +0000 (0:00:00.981)       0:04:44.152 *******",
                                "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] *******************",
                                "Monday 16 February 2026  17:12:43 +0000 (0:00:00.078)       0:04:44.231 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 16 February 2026  17:12:43 +0000 (0:00:00.336)       0:04:44.567 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 16 February 2026  17:12:45 +0000 (0:00:01.879)       0:04:46.447 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 16 February 2026  17:12:45 +0000 (0:00:00.023)       0:04:46.471 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 16 February 2026  17:12:45 +0000 (0:00:00.026)       0:04:46.497 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 16 February 2026  17:12:45 +0000 (0:00:00.026)       0:04:46.524 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 16 February 2026  17:12:46 +0000 (0:00:00.920)       0:04:47.445 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 16 February 2026  17:12:46 +0000 (0:00:00.379)       0:04:47.824 *******",
                                "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] **********",
                                "Monday 16 February 2026  17:12:47 +0000 (0:00:00.826)       0:04:48.650 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 16 February 2026  17:12:48 +0000 (0:00:00.466)       0:04:49.117 *******",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 16 February 2026  17:12:48 +0000 (0:00:00.007)       0:04:49.125 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Monday 16 February 2026  17:12:48 +0000 (0:00:00.364)       0:04:49.489 *******",
                                "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] ***",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.522)       0:04:50.012 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.032)       0:04:50.044 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.039)       0:04:50.083 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.029)       0:04:50.113 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.031)       0:04:50.144 *******",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.045)       0:04:50.190 *******",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.207)       0:04:50.397 *******",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://cdn.dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 16 February 2026  17:12:49 +0000 (0:00:00.038)       0:04:50.435 *******",
                                "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=149  changed=31   unreachable=0    failed=1    skipped=37   rescued=0    ignored=2",
                                "",
                                "Monday 16 February 2026  17:13:10 +0000 (0:00:21.221)       0:05:11.657 *******",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 84.68s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 80.90s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 21.22s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.06s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------- 9.87s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.23s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 4.69s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 4.61s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 4.55s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.26s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.01s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.76s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.89s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.88s",
                                "vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 1.83s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.77s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.75s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.74s",
                                "vexxhost.containers.containerd : Reload systemd ------------------------- 1.72s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml",
                                "ERROR    [csi > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.csi/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/csi/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0010-a68b-2a53-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:11.233340Z",
                            "start": "2026-02-16T17:06:41.244155Z"
                        },
                        "id": "0242ac17-0010-a68b-2a53-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2023.1",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-16T17:13:21.947399Z",
                    "start": "2026-02-16T17:13:11.969433Z"
                },
                "id": "0242ac17-0010-25e1-734e-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:12.318753Z",
                            "start": "2026-02-16T17:13:11.984156Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.077139",
                            "end": "2026-02-16 17:13:12.805370",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:12.728231",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:12.862746Z",
                            "start": "2026-02-16T17:13:12.344352Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/tmp/logs/system /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.4:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:13.528642Z",
                            "start": "2026-02-16T17:13:12.880196Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:13.911602Z",
                            "start": "2026-02-16T17:13:13.545691Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.005408",
                            "end": "2026-02-16 17:13:14.123761",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:14.118353",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 3: kubectl: command not found",
                            "stdout_lines": [
                                "/bin/bash: line 3: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:14.458685Z",
                            "start": "2026-02-16T17:13:13.939828Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/tmp/logs/helm /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.4:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:14.936982Z",
                            "start": "2026-02-16T17:13:14.466215Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:15.147921Z",
                            "start": "2026-02-16T17:13:14.952313Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.018075",
                            "end": "2026-02-16 17:13:15.365746",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:15.347671",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvironment: line 1: kubectl: command not found\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "environment: line 1: kubectl: command not found",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:15.692019Z",
                            "start": "2026-02-16T17:13:15.177200Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:15.879342Z",
                            "start": "2026-02-16T17:13:15.696950Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.009180",
                            "end": "2026-02-16 17:13:16.133551",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:16.124371",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nenvironment: line 5: kubectl: command not found\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "environment: line 5: kubectl: command not found",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:16.458694Z",
                            "start": "2026-02-16T17:13:15.941159Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/tmp/logs/objects /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.4:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:16.925699Z",
                            "start": "2026-02-16T17:13:16.468006Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:17.128798Z",
                            "start": "2026-02-16T17:13:16.937564Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:17.331705Z",
                            "start": "2026-02-16T17:13:17.133257Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.008535",
                            "end": "2026-02-16 17:13:17.542855",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:17.534320",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "environment: line 3: kubectl: command not found",
                            "stdout_lines": [
                                "environment: line 3: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:17.873759Z",
                            "start": "2026-02-16T17:13:17.359729Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/tmp/logs/pod-logs /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.4:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:18.357678Z",
                            "start": "2026-02-16T17:13:17.881111Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:18.563844Z",
                            "start": "2026-02-16T17:13:18.366475Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.027759",
                            "end": "2026-02-16 17:13:18.803296",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:18.775537",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 2: kubectl: command not found",
                            "stdout_lines": [
                                "/bin/bash: line 2: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:19.112620Z",
                            "start": "2026-02-16T17:13:18.594842Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.028508",
                            "end": "2026-02-16 17:13:19.343878",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:19.315370",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 2: kubectl: command not found\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "/bin/bash: line 2: kubectl: command not found",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:19.655999Z",
                            "start": "2026-02-16T17:13:19.138809Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.032439",
                            "end": "2026-02-16 17:13:19.889144",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-02-16 17:13:19.856705",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/bin/bash: line 4: kubectl: command not found",
                            "stdout_lines": [
                                "/bin/bash: line 4: kubectl: command not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:20.197967Z",
                            "start": "2026-02-16T17:13:19.681104Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/tmp/logs/prometheus /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.4:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:20.693988Z",
                            "start": "2026-02-16T17:13:20.204204Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:20.893748Z",
                            "start": "2026-02-16T17:13:20.705526Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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.006103",
                            "end": "2026-02-16 17:13:21.115074",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-25e1-734e-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-02-16 17:13:21.108971",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0010-25e1-734e-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:21.439382Z",
                            "start": "2026-02-16T17:13:20.920779Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/tmp/logs/selenium /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.4:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-25e1-734e-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:21.947399Z",
                            "start": "2026-02-16T17:13:21.446332Z"
                        },
                        "id": "0242ac17-0010-25e1-734e-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": "vexxhost.dev/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-02-16T17:13:25.878510Z",
                    "start": "2026-02-16T17:13:22.702030Z"
                },
                "id": "0242ac17-0010-fca5-32ff-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-fca5-32ff-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:22.781775Z",
                            "start": "2026-02-16T17:13:22.714621Z"
                        },
                        "id": "0242ac17-0010-fca5-32ff-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-fca5-32ff-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:22.828684Z",
                            "start": "2026-02-16T17:13:22.791815Z"
                        },
                        "id": "0242ac17-0010-fca5-32ff-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/f211de59529246bb9043355f432164f6/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-fca5-32ff-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:23.660623Z",
                            "start": "2026-02-16T17:13:22.833090Z"
                        },
                        "id": "0242ac17-0010-fca5-32ff-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.4:/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/f211de59529246bb9043355f432164f6/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.4:/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/f211de59529246bb9043355f432164f6/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.4:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.4:/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/f211de59529246bb9043355f432164f6/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-fca5-32ff-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:25.196359Z",
                            "start": "2026-02-16T17:13:23.670839Z"
                        },
                        "id": "0242ac17-0010-fca5-32ff-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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/artifacts/* /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008065",
                                    "end": "2026-02-16 17:13:25.598205",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/artifacts/* /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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-16 17:13:25.590140",
                                    "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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/docs/* /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.008730",
                                    "end": "2026-02-16 17:13:25.828676",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/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/f211de59529246bb9043355f432164f6/work/docs/* /var/lib/zuul/builds/f211de59529246bb9043355f432164f6/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-16 17:13:25.819946",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-fca5-32ff-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:25.878510Z",
                            "start": "2026-02-16T17:13:25.210743Z"
                        },
                        "id": "0242ac17-0010-fca5-32ff-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-02-16T17:13:26.354834Z",
                    "start": "2026-02-16T17:13:25.889247Z"
                },
                "id": "0242ac17-0010-fca5-32ff-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCuKcjEMVbK3lLg8LBZVhopvDktzB8VoVyVD+UisAX4YCmQovoH5a4zeNHX+COEFesy0ZxgFbHEdkOj/K/CYqQuYdBzRbAx/SndFI4AaPaYb5Z3eVm+se3SWTRwSu8yixmvwufIyJauyATCnSQlIz7zFivCkgS95HJ2XwYfD1ee+LjosGQ6FYFDg2Evbo/eCLNriYVcPFG5MrqtG2E6otFxL7XFurPeUVDkF/oCkmvaGosDVOdIC3rjMWh2WgWSV5l6j76o6hgenFlVAQG2NRLQW3pKCHgPDVSHo9fOiOHc6Pznn4UWRG+CZkb+UDFtZ21Hk50I084wGGW048aUi45Ke5qp66AaGNe2bWKYK5NeRUuRAStyBHK4uPURno6HWj6dzInOChj2WDFL68eFQqa+gu4J3RYDEEsRuLv+vS9IDQSOh2W1y2IOEhsnxfT813IwhMkY0QMGXgd9gWtVoXw9DmPFDMERtomHEOFqlxDuYiTPuTjpEhfgOVrr4cwtgQ8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCuKcjEMVbK3lLg8LBZVhopvDktzB8VoVyVD+UisAX4YCmQovoH5a4zeNHX+COEFesy0ZxgFbHEdkOj/K/CYqQuYdBzRbAx/SndFI4AaPaYb5Z3eVm+se3SWTRwSu8yixmvwufIyJauyATCnSQlIz7zFivCkgS95HJ2XwYfD1ee+LjosGQ6FYFDg2Evbo/eCLNriYVcPFG5MrqtG2E6otFxL7XFurPeUVDkF/oCkmvaGosDVOdIC3rjMWh2WgWSV5l6j76o6hgenFlVAQG2NRLQW3pKCHgPDVSHo9fOiOHc6Pznn4UWRG+CZkb+UDFtZ21Hk50I084wGGW048aUi45Ke5qp66AaGNe2bWKYK5NeRUuRAStyBHK4uPURno6HWj6dzInOChj2WDFL68eFQqa+gu4J3RYDEEsRuLv+vS9IDQSOh2W1y2IOEhsnxfT813IwhMkY0QMGXgd9gWtVoXw9DmPFDMERtomHEOFqlxDuYiTPuTjpEhfgOVrr4cwtgQ8= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-fca5-32ff-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/f211de59529246bb9043355f432164f6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-02-16T17:13:26.354834Z",
                            "start": "2026-02-16T17:13:25.896945Z"
                        },
                        "id": "0242ac17-0010-fca5-32ff-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
}
]
