[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T01:17:40.202253Z",
                    "start": "2026-04-27T01:17:37.694315Z"
                },
                "id": "0242ac17-0011-9c34-fba6-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_date_time": {
                                    "date": "2026-04-27",
                                    "day": "27",
                                    "epoch": "1777252658",
                                    "epoch_int": "1777252658",
                                    "hour": "01",
                                    "iso8601": "2026-04-27T01:17:38Z",
                                    "iso8601_basic": "20260427T011738258271",
                                    "iso8601_basic_short": "20260427T011738",
                                    "iso8601_micro": "2026-04-27T01:17:38.258271Z",
                                    "minute": "17",
                                    "month": "04",
                                    "second": "38",
                                    "time": "01:17:38",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "17",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.11"
                                    ],
                                    "options": {
                                        "edns0": true,
                                        "ndots": "0",
                                        "trust-ad": true
                                    },
                                    "search": [
                                        "openstacklocal"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 0,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work",
                                    "HOSTNAME": "0a8996d2b663",
                                    "LANG": "C.UTF-8",
                                    "PATH": "/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "PYTHON_SHA256": "8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78",
                                    "PYTHON_VERSION": "3.11.14",
                                    "SSH_AGENT_PID": "1057420",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-pDpYZ6sPkrsW/agent.1057417",
                                    "TMP": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "0a8996d2b663",
                                "ansible_hostname": "0a8996d2b663",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 1.42919921875,
                                    "1m": 2.2490234375,
                                    "5m": 1.59765625
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 5318,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 17393,
                                        "used": 14697
                                    },
                                    "real": {
                                        "free": 5318,
                                        "total": 32090,
                                        "used": 26772
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 174779850,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 89160867,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 54453747,
                                        "inode_total": 67108864,
                                        "inode_used": 12655117,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 715898265600,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9388012,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31213568,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16758572,
                                        "inode_total": 20643840,
                                        "inode_used": 3885268,
                                        "mount": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38453297152,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "0a8996d2b663",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": [
                                        "tty1",
                                        "ttyS0"
                                    ],
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_processor": [
                                    "0",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "1",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "2",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "3",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "4",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "5",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "6",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "7",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "8",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "9",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "10",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "11",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "12",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "13",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "14",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "15",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 16,
                                "ansible_processor_nproc": 16,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 16,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/local/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 14,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        14,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.14",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 0,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": "N/A",
                                "ansible_system_capabilities_enforced": "N/A",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 40916388,
                                "ansible_user_dir": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work",
                                "ansible_user_gecos": "root",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "root",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 0,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "host",
                                "ansible_virtualization_tech_guest": [],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "kvm",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:38.561289Z",
                            "start": "2026-04-27T01:17:37.702657Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:38.584552Z",
                            "start": "2026-04-27T01:17:38.565610Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "33c/oss/33c5c6bebcc64a1799bd9e9f5b4aa6ee"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:38.623512Z",
                            "start": "2026-04-27T01:17:38.595728Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.16\nJob: atmosphere-molecule-csi-rbd\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3879\nEvent ID: c6a0cdb0-41d6-11f1-8c0c-81c17c5f30da\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:38.670733Z",
                            "start": "2026-04-27T01:17:38.629595Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-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: np0000170341\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.89\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:38.772190Z",
                            "start": "2026-04-27T01:17:38.675043Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:39.347003Z",
                            "start": "2026-04-27T01:17:38.781489Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "0e793c8c3192995fcfcd6fab099419f2146c33bd",
                            "dest": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "0e793c8c3192995fcfcd6fab099419f2146c33bd",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/.ansible/tmp/ansible-tmp-1777252659.379337-84-147186872730652/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "808adf89399c2857d714533f3998e2ed",
                            "mode": "0644",
                            "owner": "root",
                            "size": 29719,
                            "src": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/.ansible/tmp/ansible-tmp-1777252659.379337-84-147186872730652/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:40.202253Z",
                            "start": "2026-04-27T01:17:39.353603Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T01:17:49.544897Z",
                    "start": "2026-04-27T01:17:40.212107Z"
                },
                "id": "0242ac17-0011-9c34-fba6-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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:40.471091Z",
                            "start": "2026-04-27T01:17:40.221341Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:40.507614Z",
                            "start": "2026-04-27T01:17:40.477406Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:02.678395",
                            "end": "2026-04-27 01:17:43.561660",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-9c34-fba6-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:17:40.883265",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa.pub\nThe key fingerprint is:\nSHA256:+s/JKqoKbQLdRlrrvTpWCXH2HUBG9+xD1SNEnixjHl8 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|       o=.. oo.. |\n|    . o. ..ooo...|\n|    o+ . . *++.E.|\n| . =..  . +o= .  |\n|. o +. .S  .o.   |\n|.. o .o.     .   |\n|o o ..o          |\n|.o  o .o o .     |\n|...oo+..oo=      |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:+s/JKqoKbQLdRlrrvTpWCXH2HUBG9+xD1SNEnixjHl8 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|       o=.. oo.. |",
                                "|    . o. ..ooo...|",
                                "|    o+ . . *++.E.|",
                                "| . =..  . +o= .  |",
                                "|. o +. .S  .o.   |",
                                "|.. o .o.     .   |",
                                "|o o ..o          |",
                                "|.o  o .o o .     |",
                                "|...oo+..oo=      |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-9c34-fba6-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:43.611648Z",
                            "start": "2026-04-27T01:17:40.526937Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:43.650689Z",
                            "start": "2026-04-27T01:17:43.617048Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:43.692403Z",
                            "start": "2026-04-27T01:17:43.666539Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC5EzyQKVNqgKXvrTE2jf8Qt58vbu+g/+rnHg4PAKKt7WV88nvcywYOd52wm6YwP4leK6cODNNExMpq9U8u9jotNKwbHB5FLrq5SWBo0WrhVMCXvSskMx8tHfFeCGFbFjKBsVInZNJVMyuOE708DVaxupkvSmNGqEadaa4GZ9jS1RGovb9J84ofE8nVP5AY9fS1Bs3wygiYaSN+2Slv0Q3cBEzpZZXb77MzgS3dz3PcxEb8WpsVYJmky3KfoSwXyAHf0c4vDHURmqSrJnkZPVNHycSDmFjiD1wq59PIDOSI1LhLE0iiKNMLzJlXr6GfeB7sRLR0Ig7VSkEhnQ1evvISKOMV4z4ingRq2t3VHXBUWh7mjTJWwcNgRQkzQbCCfoVqiRgiNo/6xvXkcxdDwLKL1fXmjQQ79tRu5ex7uU1Vc2c7xlcv4MXQ8UKF7OqGVWzozrg2oKrF4UQwnJy0tkfGVusygAZmT/C7hygb0JSad6Jd5fXwXhQWSOlQd6g7kSk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC5EzyQKVNqgKXvrTE2jf8Qt58vbu+g/+rnHg4PAKKt7WV88nvcywYOd52wm6YwP4leK6cODNNExMpq9U8u9jotNKwbHB5FLrq5SWBo0WrhVMCXvSskMx8tHfFeCGFbFjKBsVInZNJVMyuOE708DVaxupkvSmNGqEadaa4GZ9jS1RGovb9J84ofE8nVP5AY9fS1Bs3wygiYaSN+2Slv0Q3cBEzpZZXb77MzgS3dz3PcxEb8WpsVYJmky3KfoSwXyAHf0c4vDHURmqSrJnkZPVNHycSDmFjiD1wq59PIDOSI1LhLE0iiKNMLzJlXr6GfeB7sRLR0Ig7VSkEhnQ1evvISKOMV4z4ingRq2t3VHXBUWh7mjTJWwcNgRQkzQbCCfoVqiRgiNo/6xvXkcxdDwLKL1fXmjQQ79tRu5ex7uU1Vc2c7xlcv4MXQ8UKF7OqGVWzozrg2oKrF4UQwnJy0tkfGVusygAZmT/C7hygb0JSad6Jd5fXwXhQWSOlQd6g7kSk= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:44.143143Z",
                            "start": "2026-04-27T01:17:43.703224Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:44.325267Z",
                            "start": "2026-04-27T01:17:44.148240Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "98fda62bbe7c62ca5288b6e7404b07a942cf6382",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "98fda62bbe7c62ca5288b6e7404b07a942cf6382",
                                    "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-1777252664.3725555-190-109809911355211/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4eb736a67c654abd1390930aca99795e",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777252664.3725555-190-109809911355211/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:44.800752Z",
                            "start": "2026-04-27T01:17:44.331243Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "1b955c330ca76c3a105d253eff8fb7ee7a0e76ed",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "1b955c330ca76c3a105d253eff8fb7ee7a0e76ed",
                                    "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-1777252664.8473423-200-229712561635189/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4ffc116f138b326f4de90aa0e40ff28e",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777252664.8473423-200-229712561635189/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:45.266217Z",
                            "start": "2026-04-27T01:17:44.806433Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:45.296358Z",
                            "start": "2026-04-27T01:17:45.270810Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:45.688811Z",
                            "start": "2026-04-27T01:17:45.305589Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa"
                            ],
                            "delta": "0:00:00.014515",
                            "end": "2026-04-27 01:17:45.933267",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-9c34-fba6-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:17:45.918752",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/33c5c6bebcc64a1799bd9e9f5b4aa6ee_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-9c34-fba6-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:45.981235Z",
                            "start": "2026-04-27T01:17:45.703448Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:46.305351Z",
                            "start": "2026-04-27T01:17:45.989292Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:46.334353Z",
                            "start": "2026-04-27T01:17:46.310061Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:46.678836Z",
                            "start": "2026-04-27T01:17:46.349741Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:48.400737Z",
                            "start": "2026-04-27T01:17:46.685951Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:48.934628Z",
                            "start": "2026-04-27T01:17:48.412232Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9c34-fba6-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:49.544897Z",
                            "start": "2026-04-27T01:17:48.946285Z"
                        },
                        "id": "0242ac17-0011-9c34-fba6-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T01:17:53.126854Z",
                    "start": "2026-04-27T01:17:50.259648Z"
                },
                "id": "0242ac17-0011-ad67-5773-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-1777252670.3132222-5-137174593337007/uv-x86_64-unknown-linux-gnuaovpxlkb.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-1777252670.3132222-5-137174593337007/uv-x86_64-unknown-linux-gnuaovpxlkb.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-ad67-5773-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:52.584307Z",
                            "start": "2026-04-27T01:17:50.272348Z"
                        },
                        "id": "0242ac17-0011-ad67-5773-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.012122",
                            "end": "2026-04-27 01:17:52.703547",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-ad67-5773-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:17:52.691425",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-ad67-5773-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-ad67-5773-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:17:53.126854Z",
                            "start": "2026-04-27T01:17:52.608735Z"
                        },
                        "id": "0242ac17-0011-ad67-5773-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-04-27T01:18:20.495467Z",
                    "start": "2026-04-27T01:17:53.846481Z"
                },
                "id": "0242ac17-0011-5796-06b4-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1777252696,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 359 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]\nFetched 359 kB in 0s (2555 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 30923 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.2_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.2) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.2) ...\r\nSetting up jq (1.6-2.1ubuntu3.2) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 359 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]",
                                "Fetched 359 kB in 0s (2555 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 30923 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.2_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.2) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.2) ...",
                                "Setting up jq (1.6-2.1ubuntu3.2) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:18:20.495467Z",
                            "start": "2026-04-27T01:17:53.866610Z"
                        },
                        "id": "0242ac17-0011-5796-06b4-000000000004",
                        "name": "Install \"jq\" for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T01:25:16.163920Z",
                    "start": "2026-04-27T01:18:21.305981Z"
                },
                "id": "0242ac17-0011-a302-5417-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "0e793c8c3192995fcfcd6fab099419f2146c33bd",
                            "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": "0e793c8c3192995fcfcd6fab099419f2146c33bd",
                                    "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-1777252701.3590024-5-30415098771513/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "808adf89399c2857d714533f3998e2ed",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 29719,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777252701.3590024-5-30415098771513/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:18:22.264550Z",
                            "start": "2026-04-27T01:18:21.317230Z"
                        },
                        "id": "0242ac17-0011-a302-5417-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:18:22.560452Z",
                            "start": "2026-04-27T01:18:22.275208Z"
                        },
                        "id": "0242ac17-0011-a302-5417-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:52.724593",
                            "end": "2026-04-27 01:25:15.651938",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s csi",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-a302-5417-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-04-27 01:18:22.927345",
                            "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 kubernetes (1.9MiB)\nDownloading setuptools (1.1MiB)\nDownloading cryptography (4.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading netaddr (2.2MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading pygments (1.2MiB)\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 43ms\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 27 April 2026  01:19:03 +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 27 April 2026  01:19:04 +0000 (0:00:01.138)       0:00:01.165 **********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nMonday 27 April 2026  01:19:05 +0000 (0:00:00.664)       0:00:01.830 **********\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 27 April 2026  01:19:05 +0000 (0:00:00.294)       0:00:02.125 **********\nok: [instance]\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:19:06 +0000 (0:00:00.790)       0:00:02.915 **********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nMonday 27 April 2026  01:19:07 +0000 (0:00:00.709)       0:00:03.624 **********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nMonday 27 April 2026  01:19:32 +0000 (0:00:25.619)       0:00:29.244 **********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nMonday 27 April 2026  01:19:33 +0000 (0:00:00.556)       0:00:29.800 **********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nMonday 27 April 2026  01:19:33 +0000 (0:00:00.286)       0:00:30.087 **********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nMonday 27 April 2026  01:19:34 +0000 (0:00:00.620)       0:00:30.708 **********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nMonday 27 April 2026  01:19:34 +0000 (0:00:00.197)       0:00:30.905 **********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nMonday 27 April 2026  01:19:34 +0000 (0:00:00.025)       0:00:30.931 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nMonday 27 April 2026  01:19:35 +0000 (0:00:00.533)       0:00:31.465 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nMonday 27 April 2026  01:19:35 +0000 (0:00:00.599)       0:00:32.064 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nMonday 27 April 2026  01:19:36 +0000 (0:00:00.681)       0:00:32.746 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nMonday 27 April 2026  01:19:39 +0000 (0:00:02.979)       0:00:35.725 **********\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 27 April 2026  01:19:41 +0000 (0:00:01.830)       0:00:37.556 **********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 25.62s\nCreate a volume group for each loop device ------------------------------ 2.98s\nCreate a logical volume for each loop device ---------------------------- 1.83s\nGathering Facts --------------------------------------------------------- 1.14s\nPurge \"snapd\" package --------------------------------------------------- 0.79s\nGathering Facts --------------------------------------------------------- 0.71s\nStart loop devices ------------------------------------------------------ 0.68s\nConfigure short hostname ------------------------------------------------ 0.66s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.62s\nSet permissions on loopback devices ------------------------------------- 0.60s\nStart up service -------------------------------------------------------- 0.56s\nCreate devices for Ceph ------------------------------------------------- 0.53s\nEnsure hostname inside hosts file --------------------------------------- 0.29s\nGenerate lvm.conf ------------------------------------------------------- 0.29s\nGet list of all loopback devices ---------------------------------------- 0.20s\nFail if there is any existing loopback devices -------------------------- 0.03s\nINFO     [csi > prepare] Executed: Successful\nINFO     [csi > converge] Executing\n\nPLAY [Debug CSI driver value] **************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:19:42 +0000 (0:00:00.007)       0:00:00.007 **********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Display CSI driver value and environment variable] ***********************\nMonday 27 April 2026  01:19:43 +0000 (0:00:00.928)       0:00:00.935 **********\nok: [instance] => {\n    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"\n}\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:19:43 +0000 (0:00:00.045)       0:00:00.981 **********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nMonday 27 April 2026  01:19:44 +0000 (0:00:00.861)       0:00:01.842 **********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:19:44 +0000 (0:00:00.180)       0:00:02.023 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:19:45 +0000 (0:00:00.870)       0:00:02.893 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:19:45 +0000 (0:00:00.269)       0:00:03.163 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 27 April 2026  01:19:45 +0000 (0:00:00.041)       0:00:03.204 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:19:46 +0000 (0:00:00.278)       0:00:03.482 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:19:46 +0000 (0:00:00.067)       0:00:03.549 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:19:46 +0000 (0:00:00.680)       0:00:04.230 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:19:46 +0000 (0:00:00.045)       0:00:04.276 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:19:47 +0000 (0:00:00.040)       0:00:04.317 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:19:47 +0000 (0:00:00.202)       0:00:04.520 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:19:48 +0000 (0:00:01.121)       0:00:05.641 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:19:48 +0000 (0:00:00.056)       0:00:05.698 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:19:49 +0000 (0:00:00.806)       0:00:06.504 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 27 April 2026  01:19:52 +0000 (0:00:02.855)       0:00:09.359 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 27 April 2026  01:19:52 +0000 (0:00:00.035)       0:00:09.395 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 27 April 2026  01:19:52 +0000 (0:00:00.040)       0:00:09.436 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 27 April 2026  01:19:52 +0000 (0:00:00.033)       0:00:09.469 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 27 April 2026  01:19:57 +0000 (0:00:05.035)       0:00:14.505 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 27 April 2026  01:19:57 +0000 (0:00:00.575)       0:00:15.080 **********\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 27 April 2026  01:19:58 +0000 (0:00:00.897)       0:00:15.977 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 27 April 2026  01:19:59 +0000 (0:00:00.563)       0:00:16.540 **********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nMonday 27 April 2026  01:19:59 +0000 (0:00:00.017)       0:00:16.558 **********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nMonday 27 April 2026  01:20:00 +0000 (0:00:00.936)       0:00:17.494 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 27 April 2026  01:20:00 +0000 (0:00:00.439)       0:00:17.934 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:20:01 +0000 (0:00:00.557)       0:00:18.491 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:20:01 +0000 (0:00:00.214)       0:00:18.706 **********\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 27 April 2026  01:20:01 +0000 (0:00:00.055)       0:00:18.761 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:20:02 +0000 (0:00:00.873)       0:00:19.634 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nMonday 27 April 2026  01:20:06 +0000 (0:00:04.325)       0:00:23.960 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nMonday 27 April 2026  01:20:07 +0000 (0:00:01.159)       0:00:25.119 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nMonday 27 April 2026  01:20:08 +0000 (0:00:00.358)       0:00:25.478 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nMonday 27 April 2026  01:20:08 +0000 (0:00:00.458)       0:00:25.936 **********\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 27 April 2026  01:20:09 +0000 (0:00:00.608)       0:00:26.544 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nMonday 27 April 2026  01:20:09 +0000 (0:00:00.450)       0:00:26.995 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nMonday 27 April 2026  01:20:10 +0000 (0:00:00.455)       0:00:27.450 **********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nMonday 27 April 2026  01:20:10 +0000 (0:00:00.018)       0:00:27.468 **********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nMonday 27 April 2026  01:20:10 +0000 (0:00:00.711)       0:00:28.180 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nMonday 27 April 2026  01:20:12 +0000 (0:00:01.374)       0:00:29.554 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nMonday 27 April 2026  01:20:12 +0000 (0:00:00.568)       0:00:30.123 **********\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 27 April 2026  01:20:12 +0000 (0:00:00.070)       0:00:30.194 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nMonday 27 April 2026  01:20:17 +0000 (0:00:04.602)       0:00:34.797 **********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nMonday 27 April 2026  01:20:18 +0000 (0:00:00.640)       0:00:35.437 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nMonday 27 April 2026  01:20:18 +0000 (0:00:00.293)       0:00:35.731 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nMonday 27 April 2026  01:20:18 +0000 (0:00:00.199)       0:00:35.930 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nMonday 27 April 2026  01:20:19 +0000 (0:00:00.423)       0:00:36.354 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nMonday 27 April 2026  01:20:19 +0000 (0:00:00.340)       0:00:36.695 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nMonday 27 April 2026  01:20:21 +0000 (0:00:01.608)       0:00:38.304 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.048)       0:00:38.352 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.032)       0:00:38.385 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.038)       0:00:38.423 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.040)       0:00:38.464 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.033)       0:00:38.498 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.038)       0:00:38.536 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.040)       0:00:38.576 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.040)       0:00:38.617 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.109)       0:00:38.727 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.235)       0:00:38.963 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nMonday 27 April 2026  01:20:21 +0000 (0:00:00.052)       0:00:39.015 **********\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 27 April 2026  01:20:21 +0000 (0:00:00.066)       0:00:39.081 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nMonday 27 April 2026  01:20:22 +0000 (0:00:00.315)       0:00:39.396 **********\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 27 April 2026  01:20:22 +0000 (0:00:00.700)       0:00:40.096 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nMonday 27 April 2026  01:21:55 +0000 (0:01:32.339)       0:02:12.436 **********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nMonday 27 April 2026  01:21:55 +0000 (0:00:00.217)       0:02:12.654 **********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 27 April 2026  01:21:55 +0000 (0:00:00.045)       0:02:12.700 **********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 27 April 2026  01:21:55 +0000 (0:00:00.083)       0:02:12.783 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 27 April 2026  01:21:56 +0000 (0:00:01.439)       0:02:14.223 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 27 April 2026  01:21:56 +0000 (0:00:00.056)       0:02:14.280 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 27 April 2026  01:21:57 +0000 (0:00:00.366)       0:02:14.646 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nMonday 27 April 2026  01:21:59 +0000 (0:00:01.862)       0:02:16.509 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nMonday 27 April 2026  01:22:00 +0000 (0:00:01.616)       0:02:18.125 **********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 27 April 2026  01:22:10 +0000 (0:00:10.115)       0:02:28.241 **********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 27 April 2026  01:22:11 +0000 (0:00:00.079)       0:02:28.320 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 27 April 2026  01:22:11 +0000 (0:00:00.051)       0:02:28.372 **********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 27 April 2026  01:22:11 +0000 (0:00:00.048)       0:02:28.420 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 27 April 2026  01:22:11 +0000 (0:00:00.254)       0:02:28.675 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nMonday 27 April 2026  01:22:13 +0000 (0:00:01.779)       0:02:30.455 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nMonday 27 April 2026  01:22:14 +0000 (0:00:01.483)       0:02:31.938 **********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nMonday 27 April 2026  01:22:16 +0000 (0:00:01.374)       0:02:33.313 **********\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:22:17 +0000 (0:00:01.722)       0:02:35.035 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:22:18 +0000 (0:00:00.879)       0:02:35.915 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:22:18 +0000 (0:00:00.199)       0:02:36.115 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 27 April 2026  01:22:18 +0000 (0:00:00.040)       0:02:36.155 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:22:19 +0000 (0:00:00.200)       0:02:36.356 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:22:19 +0000 (0:00:00.052)       0:02:36.409 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:22:19 +0000 (0:00:00.298)       0:02:36.707 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:22:19 +0000 (0:00:00.045)       0:02:36.753 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:22:19 +0000 (0:00:00.045)       0:02:36.799 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:22:19 +0000 (0:00:00.210)       0:02:37.009 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:22:20 +0000 (0:00:01.068)       0:02:38.078 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:22:20 +0000 (0:00:00.063)       0:02:38.141 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:22:21 +0000 (0:00:00.332)       0:02:38.474 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 27 April 2026  01:22:23 +0000 (0:00:01.935)       0:02:40.409 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 27 April 2026  01:22:23 +0000 (0:00:00.035)       0:02:40.444 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 27 April 2026  01:22:23 +0000 (0:00:00.032)       0:02:40.476 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 27 April 2026  01:22:23 +0000 (0:00:00.037)       0:02:40.514 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 27 April 2026  01:22:24 +0000 (0:00:01.226)       0:02:41.741 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 27 April 2026  01:22:24 +0000 (0:00:00.417)       0:02:42.158 **********\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 27 April 2026  01:22:25 +0000 (0:00:00.891)       0:02:43.050 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 27 April 2026  01:22:26 +0000 (0:00:00.505)       0:02:43.555 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 27 April 2026  01:22:26 +0000 (0:00:00.013)       0:02:43.569 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:22:26 +0000 (0:00:00.346)       0:02:43.915 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:22:26 +0000 (0:00:00.205)       0:02:44.120 **********\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 27 April 2026  01:22:26 +0000 (0:00:00.061)       0:02:44.181 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:22:27 +0000 (0:00:00.348)       0:02:44.530 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nMonday 27 April 2026  01:22:30 +0000 (0:00:03.105)       0:02:47.635 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nMonday 27 April 2026  01:22:31 +0000 (0:00:00.992)       0:02:48.628 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nMonday 27 April 2026  01:22:31 +0000 (0:00:00.196)       0:02:48.825 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nMonday 27 April 2026  01:22:31 +0000 (0:00:00.452)       0:02:49.277 **********\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 27 April 2026  01:22:32 +0000 (0:00:00.551)       0:02:49.829 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nMonday 27 April 2026  01:22:32 +0000 (0:00:00.405)       0:02:50.234 **********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nMonday 27 April 2026  01:22:33 +0000 (0:00:00.423)       0:02:50.657 **********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nMonday 27 April 2026  01:22:33 +0000 (0:00:00.015)       0:02:50.673 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nMonday 27 April 2026  01:22:33 +0000 (0:00:00.356)       0:02:51.030 **********\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 27 April 2026  01:22:33 +0000 (0:00:00.056)       0:02:51.086 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nMonday 27 April 2026  01:22:34 +0000 (0:00:00.988)       0:02:52.074 **********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nMonday 27 April 2026  01:22:35 +0000 (0:00:00.637)       0:02:52.712 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nMonday 27 April 2026  01:22:35 +0000 (0:00:00.289)       0:02:53.001 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nMonday 27 April 2026  01:22:35 +0000 (0:00:00.205)       0:02:53.207 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nMonday 27 April 2026  01:22:36 +0000 (0:00:00.243)       0:02:53.451 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nMonday 27 April 2026  01:22:36 +0000 (0:00:00.213)       0:02:53.665 **********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nMonday 27 April 2026  01:22:36 +0000 (0:00:00.223)       0:02:53.888 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nMonday 27 April 2026  01:22:36 +0000 (0:00:00.054)       0:02:53.943 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nMonday 27 April 2026  01:22:41 +0000 (0:00:05.292)       0:02:59.235 **********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nMonday 27 April 2026  01:22:41 +0000 (0:00:00.053)       0:02:59.288 **********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nMonday 27 April 2026  01:22:42 +0000 (0:00:00.068)       0:02:59.357 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nMonday 27 April 2026  01:22:42 +0000 (0:00:00.047)       0:02:59.405 **********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nMonday 27 April 2026  01:22:42 +0000 (0:00:00.048)       0:02:59.453 **********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nMonday 27 April 2026  01:22:42 +0000 (0:00:00.258)       0:02:59.712 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nMonday 27 April 2026  01:22:44 +0000 (0:00:01.838)       0:03:01.550 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nMonday 27 April 2026  01:22:44 +0000 (0:00:00.026)       0:03:01.577 **********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nMonday 27 April 2026  01:22:44 +0000 (0:00:00.025)       0:03:01.602 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nMonday 27 April 2026  01:22:49 +0000 (0:00:05.289)       0:03:06.891 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nMonday 27 April 2026  01:22:59 +0000 (0:00:10.015)       0:03:16.907 **********\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 27 April 2026  01:24:19 +0000 (0:01:19.846)       0:04:36.753 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nMonday 27 April 2026  01:24:21 +0000 (0:00:01.799)       0:04:38.553 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nMonday 27 April 2026  01:24:22 +0000 (0:00:01.521)       0:04:40.074 **********\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 27 April 2026  01:24:22 +0000 (0:00:00.071)       0:04:40.146 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nMonday 27 April 2026  01:24:22 +0000 (0:00:00.051)       0:04:40.197 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nMonday 27 April 2026  01:24:24 +0000 (0:00:01.581)       0:04:41.778 **********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nMonday 27 April 2026  01:24:24 +0000 (0:00:00.049)       0:04:41.827 **********\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 27 April 2026  01:24:24 +0000 (0:00:00.063)       0:04:41.890 **********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nMonday 27 April 2026  01:24:24 +0000 (0:00:00.059)       0:04:41.950 **********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:24:25 +0000 (0:00:00.390)       0:04:42.341 **********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nMonday 27 April 2026  01:24:26 +0000 (0:00:00.990)       0:04:43.331 **********\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 27 April 2026  01:24:33 +0000 (0:00:07.258)       0:04:50.589 **********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nMonday 27 April 2026  01:24:33 +0000 (0:00:00.189)       0:04:50.779 **********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nMonday 27 April 2026  01:24:33 +0000 (0:00:00.447)       0:04:51.227 **********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nMonday 27 April 2026  01:24:34 +0000 (0:00:00.253)       0:04:51.480 **********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:24:34 +0000 (0:00:00.052)       0:04:51.533 **********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nMonday 27 April 2026  01:24:35 +0000 (0:00:00.938)       0:04:52.472 **********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nMonday 27 April 2026  01:24:35 +0000 (0:00:00.212)       0:04:52.685 **********\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 27 April 2026  01:24:36 +0000 (0:00:01.002)       0:04:53.687 **********\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 27 April 2026  01:24:36 +0000 (0:00:00.545)       0:04:54.233 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nMonday 27 April 2026  01:24:37 +0000 (0:00:00.202)       0:04:54.435 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nMonday 27 April 2026  01:24:37 +0000 (0:00:00.186)       0:04:54.621 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nMonday 27 April 2026  01:24:37 +0000 (0:00:00.033)       0:04:54.655 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nMonday 27 April 2026  01:24:37 +0000 (0:00:00.034)       0:04:54.690 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nMonday 27 April 2026  01:24:37 +0000 (0:00:00.560)       0:04:55.250 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nMonday 27 April 2026  01:24:38 +0000 (0:00:00.199)       0:04:55.449 **********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 27 April 2026  01:24:38 +0000 (0:00:00.063)       0:04:55.512 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.898)       0:04:56.411 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.223)       0:04:56.634 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.039)       0:04:56.673 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.210)       0:04:56.884 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.052)       0:04:56.937 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.306)       0:04:57.244 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:24:39 +0000 (0:00:00.041)       0:04:57.286 **********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nMonday 27 April 2026  01:24:40 +0000 (0:00:00.207)       0:04:57.493 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:24:41 +0000 (0:00:01.005)       0:04:58.499 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:24:41 +0000 (0:00:00.067)       0:04:58.566 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:24:41 +0000 (0:00:00.334)       0:04:58.901 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 27 April 2026  01:24:43 +0000 (0:00:01.985)       0:05:00.886 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 27 April 2026  01:24:43 +0000 (0:00:00.033)       0:05:00.919 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 27 April 2026  01:24:43 +0000 (0:00:00.032)       0:05:00.951 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 27 April 2026  01:24:43 +0000 (0:00:00.024)       0:05:00.976 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 27 April 2026  01:24:44 +0000 (0:00:00.994)       0:05:01.971 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 27 April 2026  01:24:45 +0000 (0:00:00.429)       0:05:02.401 **********\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 27 April 2026  01:24:45 +0000 (0:00:00.875)       0:05:03.276 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 27 April 2026  01:24:46 +0000 (0:00:00.518)       0:05:03.795 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 27 April 2026  01:24:46 +0000 (0:00:00.008)       0:05:03.803 **********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nMonday 27 April 2026  01:24:46 +0000 (0:00:00.356)       0:05:04.160 **********\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 27 April 2026  01:24:47 +0000 (0:00:00.562)       0:05:04.722 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.036)       0:05:04.758 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.035)       0:05:04.793 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.037)       0:05:04.831 **********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.035)       0:05:04.867 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.046)       0:05:04.913 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.199)       0:05:05.113 **********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:24:47 +0000 (0:00:00.044)       0:05:05.157 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:24:48 +0000 (0:00:00.807)       0:05:05.965 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:24:48 +0000 (0:00:00.044)       0:05:06.009 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:24:48 +0000 (0:00:00.204)       0:05:06.214 **********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:24:48 +0000 (0:00:00.042)       0:05:06.257 **********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nMonday 27 April 2026  01:24:50 +0000 (0:00:01.303)       0:05:07.560 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nMonday 27 April 2026  01:24:50 +0000 (0:00:00.056)       0:05:07.616 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nMonday 27 April 2026  01:24:50 +0000 (0:00:00.033)       0:05:07.650 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nMonday 27 April 2026  01:24:50 +0000 (0:00:00.031)       0:05:07.682 **********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nMonday 27 April 2026  01:24:50 +0000 (0:00:00.036)       0:05:07.718 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nMonday 27 April 2026  01:24:51 +0000 (0:00:00.992)       0:05:08.711 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nMonday 27 April 2026  01:24:51 +0000 (0:00:00.424)       0:05:09.135 **********\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 27 April 2026  01:24:52 +0000 (0:00:00.888)       0:05:10.024 **********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nMonday 27 April 2026  01:24:53 +0000 (0:00:00.499)       0:05:10.524 **********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nMonday 27 April 2026  01:24:53 +0000 (0:00:00.006)       0:05:10.530 **********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nMonday 27 April 2026  01:24:53 +0000 (0:00:00.355)       0:05:10.886 **********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nMonday 27 April 2026  01:24:53 +0000 (0:00:00.199)       0:05:11.086 **********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nMonday 27 April 2026  01:24:53 +0000 (0:00:00.053)       0:05:11.139 **********\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=160  changed=33   unreachable=0    failed=1    skipped=42   rescued=0    ignored=2\n\nMonday 27 April 2026  01:25:15 +0000 (0:00:21.625)       0:05:32.765 **********\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 92.34s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 79.85s\nvexxhost.containers.download_artifact : Download item ------------------ 21.63s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.12s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.02s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 7.26s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.29s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.29s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 5.04s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 4.60s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.33s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.11s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.86s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.99s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.94s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.86s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.84s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.80s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.78s\nvexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 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 kubernetes (1.9MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading pygments (1.2MiB)",
                                "   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 43ms",
                                "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 27 April 2026  01:19:03 +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 27 April 2026  01:19:04 +0000 (0:00:01.138)       0:00:01.165 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Monday 27 April 2026  01:19:05 +0000 (0:00:00.664)       0:00:01.830 **********",
                                "[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 27 April 2026  01:19:05 +0000 (0:00:00.294)       0:00:02.125 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:19:06 +0000 (0:00:00.790)       0:00:02.915 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Monday 27 April 2026  01:19:07 +0000 (0:00:00.709)       0:00:03.624 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Monday 27 April 2026  01:19:32 +0000 (0:00:25.619)       0:00:29.244 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Monday 27 April 2026  01:19:33 +0000 (0:00:00.556)       0:00:29.800 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Monday 27 April 2026  01:19:33 +0000 (0:00:00.286)       0:00:30.087 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Monday 27 April 2026  01:19:34 +0000 (0:00:00.620)       0:00:30.708 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Monday 27 April 2026  01:19:34 +0000 (0:00:00.197)       0:00:30.905 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Monday 27 April 2026  01:19:34 +0000 (0:00:00.025)       0:00:30.931 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Monday 27 April 2026  01:19:35 +0000 (0:00:00.533)       0:00:31.465 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Monday 27 April 2026  01:19:35 +0000 (0:00:00.599)       0:00:32.064 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Monday 27 April 2026  01:19:36 +0000 (0:00:00.681)       0:00:32.746 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Monday 27 April 2026  01:19:39 +0000 (0:00:02.979)       0:00:35.725 **********",
                                "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 27 April 2026  01:19:41 +0000 (0:00:01.830)       0:00:37.556 **********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 25.62s",
                                "Create a volume group for each loop device ------------------------------ 2.98s",
                                "Create a logical volume for each loop device ---------------------------- 1.83s",
                                "Gathering Facts --------------------------------------------------------- 1.14s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.79s",
                                "Gathering Facts --------------------------------------------------------- 0.71s",
                                "Start loop devices ------------------------------------------------------ 0.68s",
                                "Configure short hostname ------------------------------------------------ 0.66s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.62s",
                                "Set permissions on loopback devices ------------------------------------- 0.60s",
                                "Start up service -------------------------------------------------------- 0.56s",
                                "Create devices for Ceph ------------------------------------------------- 0.53s",
                                "Ensure hostname inside hosts file --------------------------------------- 0.29s",
                                "Generate lvm.conf ------------------------------------------------------- 0.29s",
                                "Get list of all loopback devices ---------------------------------------- 0.20s",
                                "Fail if there is any existing loopback devices -------------------------- 0.03s",
                                "INFO     [csi > prepare] Executed: Successful",
                                "INFO     [csi > converge] Executing",
                                "",
                                "PLAY [Debug CSI driver value] **************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:19:42 +0000 (0:00:00.007)       0:00:00.007 **********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Display CSI driver value and environment variable] ***********************",
                                "Monday 27 April 2026  01:19:43 +0000 (0:00:00.928)       0:00:00.935 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"csi_driver=rbd, MOLECULE_CSI_DRIVER=\"",
                                "}",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:19:43 +0000 (0:00:00.045)       0:00:00.981 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Monday 27 April 2026  01:19:44 +0000 (0:00:00.861)       0:00:01.842 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:19:44 +0000 (0:00:00.180)       0:00:02.023 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:19:45 +0000 (0:00:00.870)       0:00:02.893 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:19:45 +0000 (0:00:00.269)       0:00:03.163 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 27 April 2026  01:19:45 +0000 (0:00:00.041)       0:00:03.204 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:19:46 +0000 (0:00:00.278)       0:00:03.482 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:19:46 +0000 (0:00:00.067)       0:00:03.549 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:19:46 +0000 (0:00:00.680)       0:00:04.230 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:19:46 +0000 (0:00:00.045)       0:00:04.276 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:19:47 +0000 (0:00:00.040)       0:00:04.317 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:19:47 +0000 (0:00:00.202)       0:00:04.520 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:19:48 +0000 (0:00:01.121)       0:00:05.641 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:19:48 +0000 (0:00:00.056)       0:00:05.698 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:19:49 +0000 (0:00:00.806)       0:00:06.504 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 27 April 2026  01:19:52 +0000 (0:00:02.855)       0:00:09.359 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 27 April 2026  01:19:52 +0000 (0:00:00.035)       0:00:09.395 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 27 April 2026  01:19:52 +0000 (0:00:00.040)       0:00:09.436 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 27 April 2026  01:19:52 +0000 (0:00:00.033)       0:00:09.469 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 27 April 2026  01:19:57 +0000 (0:00:05.035)       0:00:14.505 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 27 April 2026  01:19:57 +0000 (0:00:00.575)       0:00:15.080 **********",
                                "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 27 April 2026  01:19:58 +0000 (0:00:00.897)       0:00:15.977 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 27 April 2026  01:19:59 +0000 (0:00:00.563)       0:00:16.540 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Monday 27 April 2026  01:19:59 +0000 (0:00:00.017)       0:00:16.558 **********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Monday 27 April 2026  01:20:00 +0000 (0:00:00.936)       0:00:17.494 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 27 April 2026  01:20:00 +0000 (0:00:00.439)       0:00:17.934 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:20:01 +0000 (0:00:00.557)       0:00:18.491 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:20:01 +0000 (0:00:00.214)       0:00:18.706 **********",
                                "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 27 April 2026  01:20:01 +0000 (0:00:00.055)       0:00:18.761 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:20:02 +0000 (0:00:00.873)       0:00:19.634 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Monday 27 April 2026  01:20:06 +0000 (0:00:04.325)       0:00:23.960 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Monday 27 April 2026  01:20:07 +0000 (0:00:01.159)       0:00:25.119 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Monday 27 April 2026  01:20:08 +0000 (0:00:00.358)       0:00:25.478 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Monday 27 April 2026  01:20:08 +0000 (0:00:00.458)       0:00:25.936 **********",
                                "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 27 April 2026  01:20:09 +0000 (0:00:00.608)       0:00:26.544 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Monday 27 April 2026  01:20:09 +0000 (0:00:00.450)       0:00:26.995 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Monday 27 April 2026  01:20:10 +0000 (0:00:00.455)       0:00:27.450 **********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Monday 27 April 2026  01:20:10 +0000 (0:00:00.018)       0:00:27.468 **********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Monday 27 April 2026  01:20:10 +0000 (0:00:00.711)       0:00:28.180 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Monday 27 April 2026  01:20:12 +0000 (0:00:01.374)       0:00:29.554 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Monday 27 April 2026  01:20:12 +0000 (0:00:00.568)       0:00:30.123 **********",
                                "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 27 April 2026  01:20:12 +0000 (0:00:00.070)       0:00:30.194 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Monday 27 April 2026  01:20:17 +0000 (0:00:04.602)       0:00:34.797 **********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Monday 27 April 2026  01:20:18 +0000 (0:00:00.640)       0:00:35.437 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Monday 27 April 2026  01:20:18 +0000 (0:00:00.293)       0:00:35.731 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Monday 27 April 2026  01:20:18 +0000 (0:00:00.199)       0:00:35.930 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Monday 27 April 2026  01:20:19 +0000 (0:00:00.423)       0:00:36.354 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Monday 27 April 2026  01:20:19 +0000 (0:00:00.340)       0:00:36.695 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:01.608)       0:00:38.304 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.048)       0:00:38.352 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.032)       0:00:38.385 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.038)       0:00:38.423 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.040)       0:00:38.464 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.033)       0:00:38.498 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.038)       0:00:38.536 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.040)       0:00:38.576 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.040)       0:00:38.617 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.109)       0:00:38.727 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.235)       0:00:38.963 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Monday 27 April 2026  01:20:21 +0000 (0:00:00.052)       0:00:39.015 **********",
                                "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 27 April 2026  01:20:21 +0000 (0:00:00.066)       0:00:39.081 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Monday 27 April 2026  01:20:22 +0000 (0:00:00.315)       0:00:39.396 **********",
                                "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 27 April 2026  01:20:22 +0000 (0:00:00.700)       0:00:40.096 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Monday 27 April 2026  01:21:55 +0000 (0:01:32.339)       0:02:12.436 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Monday 27 April 2026  01:21:55 +0000 (0:00:00.217)       0:02:12.654 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 27 April 2026  01:21:55 +0000 (0:00:00.045)       0:02:12.700 **********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 27 April 2026  01:21:55 +0000 (0:00:00.083)       0:02:12.783 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 27 April 2026  01:21:56 +0000 (0:00:01.439)       0:02:14.223 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 27 April 2026  01:21:56 +0000 (0:00:00.056)       0:02:14.280 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 27 April 2026  01:21:57 +0000 (0:00:00.366)       0:02:14.646 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Monday 27 April 2026  01:21:59 +0000 (0:00:01.862)       0:02:16.509 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Monday 27 April 2026  01:22:00 +0000 (0:00:01.616)       0:02:18.125 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 27 April 2026  01:22:10 +0000 (0:00:10.115)       0:02:28.241 **********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 27 April 2026  01:22:11 +0000 (0:00:00.079)       0:02:28.320 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 27 April 2026  01:22:11 +0000 (0:00:00.051)       0:02:28.372 **********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 27 April 2026  01:22:11 +0000 (0:00:00.048)       0:02:28.420 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 27 April 2026  01:22:11 +0000 (0:00:00.254)       0:02:28.675 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Monday 27 April 2026  01:22:13 +0000 (0:00:01.779)       0:02:30.455 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Monday 27 April 2026  01:22:14 +0000 (0:00:01.483)       0:02:31.938 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Monday 27 April 2026  01:22:16 +0000 (0:00:01.374)       0:02:33.313 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:22:17 +0000 (0:00:01.722)       0:02:35.035 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:22:18 +0000 (0:00:00.879)       0:02:35.915 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:22:18 +0000 (0:00:00.199)       0:02:36.115 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 27 April 2026  01:22:18 +0000 (0:00:00.040)       0:02:36.155 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:22:19 +0000 (0:00:00.200)       0:02:36.356 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:22:19 +0000 (0:00:00.052)       0:02:36.409 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:22:19 +0000 (0:00:00.298)       0:02:36.707 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:22:19 +0000 (0:00:00.045)       0:02:36.753 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:22:19 +0000 (0:00:00.045)       0:02:36.799 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:22:19 +0000 (0:00:00.210)       0:02:37.009 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:22:20 +0000 (0:00:01.068)       0:02:38.078 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:22:20 +0000 (0:00:00.063)       0:02:38.141 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:22:21 +0000 (0:00:00.332)       0:02:38.474 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 27 April 2026  01:22:23 +0000 (0:00:01.935)       0:02:40.409 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 27 April 2026  01:22:23 +0000 (0:00:00.035)       0:02:40.444 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 27 April 2026  01:22:23 +0000 (0:00:00.032)       0:02:40.476 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 27 April 2026  01:22:23 +0000 (0:00:00.037)       0:02:40.514 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 27 April 2026  01:22:24 +0000 (0:00:01.226)       0:02:41.741 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 27 April 2026  01:22:24 +0000 (0:00:00.417)       0:02:42.158 **********",
                                "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 27 April 2026  01:22:25 +0000 (0:00:00.891)       0:02:43.050 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 27 April 2026  01:22:26 +0000 (0:00:00.505)       0:02:43.555 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 27 April 2026  01:22:26 +0000 (0:00:00.013)       0:02:43.569 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:22:26 +0000 (0:00:00.346)       0:02:43.915 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:22:26 +0000 (0:00:00.205)       0:02:44.120 **********",
                                "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 27 April 2026  01:22:26 +0000 (0:00:00.061)       0:02:44.181 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:22:27 +0000 (0:00:00.348)       0:02:44.530 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Monday 27 April 2026  01:22:30 +0000 (0:00:03.105)       0:02:47.635 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Monday 27 April 2026  01:22:31 +0000 (0:00:00.992)       0:02:48.628 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Monday 27 April 2026  01:22:31 +0000 (0:00:00.196)       0:02:48.825 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Monday 27 April 2026  01:22:31 +0000 (0:00:00.452)       0:02:49.277 **********",
                                "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 27 April 2026  01:22:32 +0000 (0:00:00.551)       0:02:49.829 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Monday 27 April 2026  01:22:32 +0000 (0:00:00.405)       0:02:50.234 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Monday 27 April 2026  01:22:33 +0000 (0:00:00.423)       0:02:50.657 **********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Monday 27 April 2026  01:22:33 +0000 (0:00:00.015)       0:02:50.673 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Monday 27 April 2026  01:22:33 +0000 (0:00:00.356)       0:02:51.030 **********",
                                "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 27 April 2026  01:22:33 +0000 (0:00:00.056)       0:02:51.086 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Monday 27 April 2026  01:22:34 +0000 (0:00:00.988)       0:02:52.074 **********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Monday 27 April 2026  01:22:35 +0000 (0:00:00.637)       0:02:52.712 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Monday 27 April 2026  01:22:35 +0000 (0:00:00.289)       0:02:53.001 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Monday 27 April 2026  01:22:35 +0000 (0:00:00.205)       0:02:53.207 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Monday 27 April 2026  01:22:36 +0000 (0:00:00.243)       0:02:53.451 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Monday 27 April 2026  01:22:36 +0000 (0:00:00.213)       0:02:53.665 **********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Monday 27 April 2026  01:22:36 +0000 (0:00:00.223)       0:02:53.888 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Monday 27 April 2026  01:22:36 +0000 (0:00:00.054)       0:02:53.943 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Monday 27 April 2026  01:22:41 +0000 (0:00:05.292)       0:02:59.235 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Monday 27 April 2026  01:22:41 +0000 (0:00:00.053)       0:02:59.288 **********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Monday 27 April 2026  01:22:42 +0000 (0:00:00.068)       0:02:59.357 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Monday 27 April 2026  01:22:42 +0000 (0:00:00.047)       0:02:59.405 **********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Monday 27 April 2026  01:22:42 +0000 (0:00:00.048)       0:02:59.453 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Monday 27 April 2026  01:22:42 +0000 (0:00:00.258)       0:02:59.712 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Monday 27 April 2026  01:22:44 +0000 (0:00:01.838)       0:03:01.550 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Monday 27 April 2026  01:22:44 +0000 (0:00:00.026)       0:03:01.577 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Monday 27 April 2026  01:22:44 +0000 (0:00:00.025)       0:03:01.602 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Monday 27 April 2026  01:22:49 +0000 (0:00:05.289)       0:03:06.891 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Monday 27 April 2026  01:22:59 +0000 (0:00:10.015)       0:03:16.907 **********",
                                "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 27 April 2026  01:24:19 +0000 (0:01:19.846)       0:04:36.753 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Monday 27 April 2026  01:24:21 +0000 (0:00:01.799)       0:04:38.553 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Monday 27 April 2026  01:24:22 +0000 (0:00:01.521)       0:04:40.074 **********",
                                "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 27 April 2026  01:24:22 +0000 (0:00:00.071)       0:04:40.146 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Monday 27 April 2026  01:24:22 +0000 (0:00:00.051)       0:04:40.197 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Monday 27 April 2026  01:24:24 +0000 (0:00:01.581)       0:04:41.778 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Monday 27 April 2026  01:24:24 +0000 (0:00:00.049)       0:04:41.827 **********",
                                "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 27 April 2026  01:24:24 +0000 (0:00:00.063)       0:04:41.890 **********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Monday 27 April 2026  01:24:24 +0000 (0:00:00.059)       0:04:41.950 **********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:24:25 +0000 (0:00:00.390)       0:04:42.341 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Monday 27 April 2026  01:24:26 +0000 (0:00:00.990)       0:04:43.331 **********",
                                "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 27 April 2026  01:24:33 +0000 (0:00:07.258)       0:04:50.589 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Monday 27 April 2026  01:24:33 +0000 (0:00:00.189)       0:04:50.779 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Monday 27 April 2026  01:24:33 +0000 (0:00:00.447)       0:04:51.227 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Monday 27 April 2026  01:24:34 +0000 (0:00:00.253)       0:04:51.480 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:24:34 +0000 (0:00:00.052)       0:04:51.533 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Monday 27 April 2026  01:24:35 +0000 (0:00:00.938)       0:04:52.472 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Monday 27 April 2026  01:24:35 +0000 (0:00:00.212)       0:04:52.685 **********",
                                "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 27 April 2026  01:24:36 +0000 (0:00:01.002)       0:04:53.687 **********",
                                "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 27 April 2026  01:24:36 +0000 (0:00:00.545)       0:04:54.233 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Monday 27 April 2026  01:24:37 +0000 (0:00:00.202)       0:04:54.435 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Monday 27 April 2026  01:24:37 +0000 (0:00:00.186)       0:04:54.621 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Monday 27 April 2026  01:24:37 +0000 (0:00:00.033)       0:04:54.655 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Monday 27 April 2026  01:24:37 +0000 (0:00:00.034)       0:04:54.690 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Monday 27 April 2026  01:24:37 +0000 (0:00:00.560)       0:04:55.250 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Monday 27 April 2026  01:24:38 +0000 (0:00:00.199)       0:04:55.449 **********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 27 April 2026  01:24:38 +0000 (0:00:00.063)       0:04:55.512 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.898)       0:04:56.411 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.223)       0:04:56.634 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.039)       0:04:56.673 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.210)       0:04:56.884 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.052)       0:04:56.937 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.306)       0:04:57.244 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:24:39 +0000 (0:00:00.041)       0:04:57.286 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Monday 27 April 2026  01:24:40 +0000 (0:00:00.207)       0:04:57.493 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:24:41 +0000 (0:00:01.005)       0:04:58.499 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:24:41 +0000 (0:00:00.067)       0:04:58.566 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:24:41 +0000 (0:00:00.334)       0:04:58.901 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 27 April 2026  01:24:43 +0000 (0:00:01.985)       0:05:00.886 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 27 April 2026  01:24:43 +0000 (0:00:00.033)       0:05:00.919 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 27 April 2026  01:24:43 +0000 (0:00:00.032)       0:05:00.951 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 27 April 2026  01:24:43 +0000 (0:00:00.024)       0:05:00.976 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 27 April 2026  01:24:44 +0000 (0:00:00.994)       0:05:01.971 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 27 April 2026  01:24:45 +0000 (0:00:00.429)       0:05:02.401 **********",
                                "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 27 April 2026  01:24:45 +0000 (0:00:00.875)       0:05:03.276 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 27 April 2026  01:24:46 +0000 (0:00:00.518)       0:05:03.795 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 27 April 2026  01:24:46 +0000 (0:00:00.008)       0:05:03.803 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Monday 27 April 2026  01:24:46 +0000 (0:00:00.356)       0:05:04.160 **********",
                                "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 27 April 2026  01:24:47 +0000 (0:00:00.562)       0:05:04.722 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.036)       0:05:04.758 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.035)       0:05:04.793 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.037)       0:05:04.831 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.035)       0:05:04.867 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.046)       0:05:04.913 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.199)       0:05:05.113 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:24:47 +0000 (0:00:00.044)       0:05:05.157 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:24:48 +0000 (0:00:00.807)       0:05:05.965 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:24:48 +0000 (0:00:00.044)       0:05:06.009 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:24:48 +0000 (0:00:00.204)       0:05:06.214 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:24:48 +0000 (0:00:00.042)       0:05:06.257 **********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Monday 27 April 2026  01:24:50 +0000 (0:00:01.303)       0:05:07.560 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Monday 27 April 2026  01:24:50 +0000 (0:00:00.056)       0:05:07.616 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Monday 27 April 2026  01:24:50 +0000 (0:00:00.033)       0:05:07.650 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Monday 27 April 2026  01:24:50 +0000 (0:00:00.031)       0:05:07.682 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Monday 27 April 2026  01:24:50 +0000 (0:00:00.036)       0:05:07.718 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Monday 27 April 2026  01:24:51 +0000 (0:00:00.992)       0:05:08.711 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Monday 27 April 2026  01:24:51 +0000 (0:00:00.424)       0:05:09.135 **********",
                                "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 27 April 2026  01:24:52 +0000 (0:00:00.888)       0:05:10.024 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Monday 27 April 2026  01:24:53 +0000 (0:00:00.499)       0:05:10.524 **********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Monday 27 April 2026  01:24:53 +0000 (0:00:00.006)       0:05:10.530 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Monday 27 April 2026  01:24:53 +0000 (0:00:00.355)       0:05:10.886 **********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Monday 27 April 2026  01:24:53 +0000 (0:00:00.199)       0:05:11.086 **********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Monday 27 April 2026  01:24:53 +0000 (0:00:00.053)       0:05:11.139 **********",
                                "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=160  changed=33   unreachable=0    failed=1    skipped=42   rescued=0    ignored=2",
                                "",
                                "Monday 27 April 2026  01:25:15 +0000 (0:00:21.625)       0:05:32.765 **********",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ------------------------------ 92.34s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 79.85s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 21.63s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 10.12s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.02s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 7.26s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.29s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.29s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 5.04s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 4.60s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.33s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.11s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.86s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.99s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.94s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.86s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.84s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.80s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.78s",
                                "vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 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-0011-a302-5417-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:16.163920Z",
                            "start": "2026-04-27T01:18:22.596925Z"
                        },
                        "id": "0242ac17-0011-a302-5417-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-04-27T01:25:28.752275Z",
                    "start": "2026-04-27T01:25:17.216214Z"
                },
                "id": "0242ac17-0011-b982-7044-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:17.584103Z",
                            "start": "2026-04-27T01:25:17.235236Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.098602",
                            "end": "2026-04-27 01:25:18.055959",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:17.957357",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:18.129874Z",
                            "start": "2026-04-27T01:25:17.610648Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.89:/tmp/logs/system /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:18.945797Z",
                            "start": "2026-04-27T01:25:18.137609Z"
                        },
                        "id": "0242ac17-0011-b982-7044-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:19.319480Z",
                            "start": "2026-04-27T01:25:18.954753Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.072986",
                            "end": "2026-04-27 01:25:19.615620",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:19.542634",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0427 01:25:19.605665   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:19.606641   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:19.608633   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:19.609181   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:19.610938   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0427 01:25:19.605665   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:19.606641   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:19.608633   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:19.609181   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:19.610938   35789 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:19.870156Z",
                            "start": "2026-04-27T01:25:19.350021Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.89:/tmp/logs/helm /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:20.346914Z",
                            "start": "2026-04-27T01:25:19.877193Z"
                        },
                        "id": "0242ac17-0011-b982-7044-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:20.556306Z",
                            "start": "2026-04-27T01:25:20.357966Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.199857",
                            "end": "2026-04-27 01:25:20.974928",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:20.775071",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0427 01:25:20.835009   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.836012   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.837646   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.838202   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.839136   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.839691   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0427 01:25:20.840191   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.840789   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.842451   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.843089   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0427 01:25:20.905255   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.906013   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.907977   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.908731   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.910506   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0427 01:25:20.911414   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.911831   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.913357   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.913717   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.915381   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0427 01:25:20.964812   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.965458   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.967429   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.968473   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:20.969212   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0427 01:25:20.835009   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.836012   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.837646   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.838202   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.839136   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.839691   35837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0427 01:25:20.840191   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.840789   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.842451   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.843089   35841 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0427 01:25:20.905255   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.906013   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.907977   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.908731   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.910506   35862 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0427 01:25:20.911414   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.911831   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.913357   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.913717   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.915381   35869 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0427 01:25:20.964812   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.965458   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.967429   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.968473   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:20.969212   35885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:21.101722Z",
                            "start": "2026-04-27T01:25:20.582806Z"
                        },
                        "id": "0242ac17-0011-b982-7044-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:21.300274Z",
                            "start": "2026-04-27T01:25:21.108621Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.066177",
                            "end": "2026-04-27 01:25:21.639314",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:21.573137",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\n\nE0427 01:25:21.629680   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:21.630408   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:21.632154   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:21.632888   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:21.634513   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "",
                                "E0427 01:25:21.629680   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:21.630408   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:21.632154   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:21.632888   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:21.634513   35915 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:21.900553Z",
                            "start": "2026-04-27T01:25:21.378863Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.89:/tmp/logs/objects /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:22.383221Z",
                            "start": "2026-04-27T01:25:21.906048Z"
                        },
                        "id": "0242ac17-0011-b982-7044-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:22.590147Z",
                            "start": "2026-04-27T01:25:22.393592Z"
                        },
                        "id": "0242ac17-0011-b982-7044-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:22.802225Z",
                            "start": "2026-04-27T01:25:22.594897Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.067468",
                            "end": "2026-04-27 01:25:23.087077",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:23.019609",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0427 01:25:23.077397   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:23.078230   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:23.080323   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:23.080990   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:23.082702   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0427 01:25:23.077397   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:23.078230   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:23.080323   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:23.080990   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:23.082702   35967 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:23.352615Z",
                            "start": "2026-04-27T01:25:22.832252Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.89:/tmp/logs/pod-logs /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:23.869695Z",
                            "start": "2026-04-27T01:25:23.359115Z"
                        },
                        "id": "0242ac17-0011-b982-7044-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:24.086637Z",
                            "start": "2026-04-27T01:25:23.879833Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.061307",
                            "end": "2026-04-27 01:25:24.363566",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:24.302259",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0427 01:25:24.354602   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.355326   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.357070   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.357673   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.359489   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0427 01:25:24.354602   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.355326   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.357070   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.357673   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.359489   36009 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:24.636574Z",
                            "start": "2026-04-27T01:25:24.116905Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.068916",
                            "end": "2026-04-27 01:25:24.906720",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:24.837804",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0427 01:25:24.896542   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.897452   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.898971   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.899409   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:24.901319   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "E0427 01:25:24.896542   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.897452   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.898971   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.899409   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:24.901319   36031 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:25.177740Z",
                            "start": "2026-04-27T01:25:24.661345Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.072451",
                            "end": "2026-04-27 01:25:25.460157",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 01:25:25.387706",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0427 01:25:25.450363   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:25.451336   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:25.452374   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:25.454103   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0427 01:25:25.454516   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0427 01:25:25.450363   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:25.451336   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:25.452374   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:25.454103   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0427 01:25:25.454516   36052 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:25.717659Z",
                            "start": "2026-04-27T01:25:25.204213Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.89:/tmp/logs/prometheus /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:26.202209Z",
                            "start": "2026-04-27T01:25:25.724653Z"
                        },
                        "id": "0242ac17-0011-b982-7044-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:26.415959Z",
                            "start": "2026-04-27T01:25:26.215264Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.003831",
                            "end": "2026-04-27 01:25:26.632911",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-b982-7044-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-27 01:25:26.629080",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0011-b982-7044-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:27.092065Z",
                            "start": "2026-04-27T01:25:26.441665Z"
                        },
                        "id": "0242ac17-0011-b982-7044-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.89:/tmp/logs/selenium /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b982-7044-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:28.752275Z",
                            "start": "2026-04-27T01:25:27.097621Z"
                        },
                        "id": "0242ac17-0011-b982-7044-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 23,
            "failures": 0,
            "ignored": 1,
            "ok": 23,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T01:25:32.767003Z",
                    "start": "2026-04-27T01:25:29.492477Z"
                },
                "id": "0242ac17-0011-b5ed-eb9e-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b5ed-eb9e-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:29.551563Z",
                            "start": "2026-04-27T01:25:29.505615Z"
                        },
                        "id": "0242ac17-0011-b5ed-eb9e-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b5ed-eb9e-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:29.603324Z",
                            "start": "2026-04-27T01:25:29.560203Z"
                        },
                        "id": "0242ac17-0011-b5ed-eb9e-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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b5ed-eb9e-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:30.479476Z",
                            "start": "2026-04-27T01:25:29.609413Z"
                        },
                        "id": "0242ac17-0011-b5ed-eb9e-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.89:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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.89:/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b5ed-eb9e-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:32.036737Z",
                            "start": "2026-04-27T01:25:30.490398Z"
                        },
                        "id": "0242ac17-0011-b5ed-eb9e-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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/artifacts/* /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.010557",
                                    "end": "2026-04-27 01:25:32.474379",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/artifacts/* /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-04-27 01:25:32.463822",
                                    "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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/docs/* /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006918",
                                    "end": "2026-04-27 01:25:32.711044",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/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/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/docs/* /var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-04-27 01:25:32.704126",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b5ed-eb9e-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:32.767003Z",
                            "start": "2026-04-27T01:25:32.051142Z"
                        },
                        "id": "0242ac17-0011-b5ed-eb9e-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T01:25:33.208918Z",
                    "start": "2026-04-27T01:25:32.779251Z"
                },
                "id": "0242ac17-0011-b5ed-eb9e-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC5EzyQKVNqgKXvrTE2jf8Qt58vbu+g/+rnHg4PAKKt7WV88nvcywYOd52wm6YwP4leK6cODNNExMpq9U8u9jotNKwbHB5FLrq5SWBo0WrhVMCXvSskMx8tHfFeCGFbFjKBsVInZNJVMyuOE708DVaxupkvSmNGqEadaa4GZ9jS1RGovb9J84ofE8nVP5AY9fS1Bs3wygiYaSN+2Slv0Q3cBEzpZZXb77MzgS3dz3PcxEb8WpsVYJmky3KfoSwXyAHf0c4vDHURmqSrJnkZPVNHycSDmFjiD1wq59PIDOSI1LhLE0iiKNMLzJlXr6GfeB7sRLR0Ig7VSkEhnQ1evvISKOMV4z4ingRq2t3VHXBUWh7mjTJWwcNgRQkzQbCCfoVqiRgiNo/6xvXkcxdDwLKL1fXmjQQ79tRu5ex7uU1Vc2c7xlcv4MXQ8UKF7OqGVWzozrg2oKrF4UQwnJy0tkfGVusygAZmT/C7hygb0JSad6Jd5fXwXhQWSOlQd6g7kSk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC5EzyQKVNqgKXvrTE2jf8Qt58vbu+g/+rnHg4PAKKt7WV88nvcywYOd52wm6YwP4leK6cODNNExMpq9U8u9jotNKwbHB5FLrq5SWBo0WrhVMCXvSskMx8tHfFeCGFbFjKBsVInZNJVMyuOE708DVaxupkvSmNGqEadaa4GZ9jS1RGovb9J84ofE8nVP5AY9fS1Bs3wygiYaSN+2Slv0Q3cBEzpZZXb77MzgS3dz3PcxEb8WpsVYJmky3KfoSwXyAHf0c4vDHURmqSrJnkZPVNHycSDmFjiD1wq59PIDOSI1LhLE0iiKNMLzJlXr6GfeB7sRLR0Ig7VSkEhnQ1evvISKOMV4z4ingRq2t3VHXBUWh7mjTJWwcNgRQkzQbCCfoVqiRgiNo/6xvXkcxdDwLKL1fXmjQQ79tRu5ex7uU1Vc2c7xlcv4MXQ8UKF7OqGVWzozrg2oKrF4UQwnJy0tkfGVusygAZmT/C7hygb0JSad6Jd5fXwXhQWSOlQd6g7kSk= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-b5ed-eb9e-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/33c5c6bebcc64a1799bd9e9f5b4aa6ee/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T01:25:33.208918Z",
                            "start": "2026-04-27T01:25:32.785861Z"
                        },
                        "id": "0242ac17-0011-b5ed-eb9e-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
}
]
