[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:26:03.906108Z",
                    "start": "2026-04-23T16:25:59.840550Z"
                },
                "id": "0242ac17-0011-0ec3-c0f9-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-23",
                                    "day": "23",
                                    "epoch": "1776961560",
                                    "epoch_int": "1776961560",
                                    "hour": "16",
                                    "iso8601": "2026-04-23T16:26:00Z",
                                    "iso8601_basic": "20260423T162600744973",
                                    "iso8601_basic_short": "20260423T162600",
                                    "iso8601_micro": "2026-04-23T16:26:00.744973Z",
                                    "minute": "26",
                                    "month": "04",
                                    "second": "00",
                                    "time": "16:26:00",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "16",
                                    "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/4443a534d0224a25859b36e43392f9eb/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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": "354169",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-7peJW7ZTcpwp/agent.354168",
                                    "TMP": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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": 4.37890625,
                                    "1m": 12.44189453125,
                                    "5m": 7.23486328125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 2008,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 15997,
                                        "used": 16093
                                    },
                                    "real": {
                                        "free": 2008,
                                        "total": 32090,
                                        "used": 30082
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 177728525,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 86212192,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 54954527,
                                        "inode_total": 67108864,
                                        "inode_used": 12154337,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 727976038400,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8470711,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32130869,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16267170,
                                        "inode_total": 20643840,
                                        "inode_used": 4376670,
                                        "mount": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34696032256,
                                        "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": 40625290,
                                "ansible_user_dir": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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-23T16:26:01.431184Z",
                            "start": "2026-04-23T16:25:59.855696Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:01.457087Z",
                            "start": "2026-04-23T16:26:01.435467Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "444/oss/4443a534d0224a25859b36e43392f9eb"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:01.535857Z",
                            "start": "2026-04-23T16:26:01.493180Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-aio-openvswitch\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3873\nEvent ID: c26512e0-3f30-11f1-9931-b173b6dbd0a1\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:01.881993Z",
                            "start": "2026-04-23T16:26:01.545001Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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: np0000169835\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy-16\nProduct Name: OpenStack Nova\nInterface IP: 199.19.213.20\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:02.002917Z",
                            "start": "2026-04-23T16:26:01.893519Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:02.659901Z",
                            "start": "2026-04-23T16:26:02.016154Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "b2d30d08f91d58f9e3d9198c5c84a7e904820000",
                            "dest": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "b2d30d08f91d58f9e3d9198c5c84a7e904820000",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/.ansible/tmp/ansible-tmp-1776961562.6947124-84-68091748582239/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "5f35925ba76257b8ca209245e32ccfe6",
                            "mode": "0644",
                            "owner": "root",
                            "size": 36218,
                            "src": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/.ansible/tmp/ansible-tmp-1776961562.6947124-84-68091748582239/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:03.906108Z",
                            "start": "2026-04-23T16:26:02.665851Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:26:13.087012Z",
                    "start": "2026-04-23T16:26:03.913229Z"
                },
                "id": "0242ac17-0011-0ec3-c0f9-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/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:04.358692Z",
                            "start": "2026-04-23T16:26:03.924164Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:04.402802Z",
                            "start": "2026-04-23T16:26:04.370876Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.424263",
                            "end": "2026-04-23 16:26:05.588366",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_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-0ec3-c0f9-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:26:05.164103",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa.pub\nThe key fingerprint is:\nSHA256:cdJtloLpVkmhFt8JcDbf8lvxF6Udm2XpTlhqzzgdd7Y zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|        o.B.   .=|\n|         @ B + **|\n|        B B X B=.|\n|       o = + * +B|\n|        S   . O.O|\n|       .     o E.|\n|              o  |\n|                 |\n|                 |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:cdJtloLpVkmhFt8JcDbf8lvxF6Udm2XpTlhqzzgdd7Y zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|        o.B.   .=|",
                                "|         @ B + **|",
                                "|        B B X B=.|",
                                "|       o = + * +B|",
                                "|        S   . O.O|",
                                "|       .     o E.|",
                                "|              o  |",
                                "|                 |",
                                "|                 |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-0ec3-c0f9-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:05.634618Z",
                            "start": "2026-04-23T16:26:04.436564Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:05.674699Z",
                            "start": "2026-04-23T16:26:05.639887Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:05.718420Z",
                            "start": "2026-04-23T16:26:05.693207Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDatN2vePETTCzEU/X6vdcrUyQpDisnhzGrQk5sp844MMC6O9A5sgE6LxHz/EHYYzypuJJ2nz1gj+egtPhuak8fbGrnPU+ly/mU57I5IOWf2ppMPVHXolfNUzPPRiOKJA8sW7HLOLIWG82yzPcpq16AVHtc9+ra7DZ7Jy4lTrTwaSVf4uxnm65/yo4oaI8M1MnGp62/QD0NPVQth+LMdb6THiXGYLUctJ7UQO6rdLzqZXXYAzhrlDD+f+kjrhSsbIC41dBjuGk/phwEB8rWm5xlaRZQ7FMNQQJDV3zhtaMypNtSB+I0URO4nlhkD4qpWwFQMCfm3rZeNGiW20ERj/akMfuUNflqx8hZY60A8xrZeR8p6gL7ZFpn1gzjMY0oxCBcCmpDZwkjVZAthpbDgIB+wtHeRbEgHLvBOOlk/L2z+G79TIJYkf3KxupSogAwNCBVCaZ3GtRHl+PEYrrEPph+SspWS7RAO8jSRJ0nTcLYsxMCAJOurDeTbGnidGRfL3E= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDatN2vePETTCzEU/X6vdcrUyQpDisnhzGrQk5sp844MMC6O9A5sgE6LxHz/EHYYzypuJJ2nz1gj+egtPhuak8fbGrnPU+ly/mU57I5IOWf2ppMPVHXolfNUzPPRiOKJA8sW7HLOLIWG82yzPcpq16AVHtc9+ra7DZ7Jy4lTrTwaSVf4uxnm65/yo4oaI8M1MnGp62/QD0NPVQth+LMdb6THiXGYLUctJ7UQO6rdLzqZXXYAzhrlDD+f+kjrhSsbIC41dBjuGk/phwEB8rWm5xlaRZQ7FMNQQJDV3zhtaMypNtSB+I0URO4nlhkD4qpWwFQMCfm3rZeNGiW20ERj/akMfuUNflqx8hZY60A8xrZeR8p6gL7ZFpn1gzjMY0oxCBcCmpDZwkjVZAthpbDgIB+wtHeRbEgHLvBOOlk/L2z+G79TIJYkf3KxupSogAwNCBVCaZ3GtRHl+PEYrrEPph+SspWS7RAO8jSRJ0nTcLYsxMCAJOurDeTbGnidGRfL3E= 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-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:06.217458Z",
                            "start": "2026-04-23T16:26:05.728421Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:06.400134Z",
                            "start": "2026-04-23T16:26:06.222542Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "d9ea10bd7b36264184541c2cd5b1a494b37c4bfc",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4443a534d0224a25859b36e43392f9eb_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "d9ea10bd7b36264184541c2cd5b1a494b37c4bfc",
                                    "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-1776961566.4662135-190-271987436055187/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "c0b5c904bcb278bb505e3382bdd7ea14",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776961566.4662135-190-271987436055187/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:06.892635Z",
                            "start": "2026-04-23T16:26:06.411021Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "824dc8318ca1658c201f20a551f9e7cdc95c74e6",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4443a534d0224a25859b36e43392f9eb_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "824dc8318ca1658c201f20a551f9e7cdc95c74e6",
                                    "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-1776961566.9433148-200-259963280710569/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "7daf3c8a8c7ce8d16050f7c6ea2f0a5d",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776961566.9433148-200-259963280710569/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:07.370955Z",
                            "start": "2026-04-23T16:26:06.897897Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:07.402195Z",
                            "start": "2026-04-23T16:26:07.376115Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:08.217714Z",
                            "start": "2026-04-23T16:26:07.798027Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa"
                            ],
                            "delta": "0:00:00.013001",
                            "end": "2026-04-23 16:26:08.634315",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_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-0ec3-c0f9-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:26:08.621314",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/4443a534d0224a25859b36e43392f9eb_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-0ec3-c0f9-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:08.691903Z",
                            "start": "2026-04-23T16:26:08.230278Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:08.981892Z",
                            "start": "2026-04-23T16:26:08.696856Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:09.013848Z",
                            "start": "2026-04-23T16:26:08.988636Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:09.334076Z",
                            "start": "2026-04-23T16:26:09.029136Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:12.045171Z",
                            "start": "2026-04-23T16:26:09.342126Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:12.558459Z",
                            "start": "2026-04-23T16:26:12.056805Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-0ec3-c0f9-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:13.087012Z",
                            "start": "2026-04-23T16:26:12.569897Z"
                        },
                        "id": "0242ac17-0011-0ec3-c0f9-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-23T16:26:18.195471Z",
                    "start": "2026-04-23T16:26:14.026012Z"
                },
                "id": "0242ac17-0011-56a5-d514-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-1776961574.0846999-5-62391121695951/uv-x86_64-unknown-linux-gnucntmmf0n.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-1776961574.0846999-5-62391121695951/uv-x86_64-unknown-linux-gnucntmmf0n.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-56a5-d514-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:17.621570Z",
                            "start": "2026-04-23T16:26:14.040675Z"
                        },
                        "id": "0242ac17-0011-56a5-d514-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.012910",
                            "end": "2026-04-23 16:26:18.048103",
                            "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-56a5-d514-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:26:18.035193",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-56a5-d514-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-56a5-d514-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:18.195471Z",
                            "start": "2026-04-23T16:26:17.666815Z"
                        },
                        "id": "0242ac17-0011-56a5-d514-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:26:41.993772Z",
                    "start": "2026-04-23T16:26:19.345703Z"
                },
                "id": "0242ac17-0011-9e78-597f-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1776961585,
                            "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 6s (63.6 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 6s (63.6 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-23T16:26:34.170511Z",
                            "start": "2026-04-23T16:26:19.382339Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000004",
                        "name": "Install \"jq\" for log collection"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1776961585,
                            "cache_updated": false,
                            "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": "python3-pip",
                                    "only_upgrade": false,
                                    "package": [
                                        "python3-pip"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": null,
                                    "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  python3-wheel\nRecommended packages:\n  build-essential python3-dev\nThe following NEW packages will be installed:\n  python3-pip python3-wheel\n0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 1338 kB of archives.\nAfter this operation, 7214 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-wheel all 0.37.1-2ubuntu0.22.04.1 [32.0 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2+dfsg-1ubuntu0.7 [1306 kB]\nFetched 1338 kB in 1s (1710 kB/s)\nSelecting previously unselected package python3-wheel.\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 ... 30940 files and directories currently installed.)\r\nPreparing to unpack .../python3-wheel_0.37.1-2ubuntu0.22.04.1_all.deb ...\r\nUnpacking python3-wheel (0.37.1-2ubuntu0.22.04.1) ...\r\nSelecting previously unselected package python3-pip.\r\nPreparing to unpack .../python3-pip_22.0.2+dfsg-1ubuntu0.7_all.deb ...\r\nUnpacking python3-pip (22.0.2+dfsg-1ubuntu0.7) ...\r\nSetting up python3-wheel (0.37.1-2ubuntu0.22.04.1) ...\r\nSetting up python3-pip (22.0.2+dfsg-1ubuntu0.7) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  python3-wheel",
                                "Recommended packages:",
                                "  build-essential python3-dev",
                                "The following NEW packages will be installed:",
                                "  python3-pip python3-wheel",
                                "0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 1338 kB of archives.",
                                "After this operation, 7214 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-wheel all 0.37.1-2ubuntu0.22.04.1 [32.0 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2+dfsg-1ubuntu0.7 [1306 kB]",
                                "Fetched 1338 kB in 1s (1710 kB/s)",
                                "Selecting previously unselected package python3-wheel.",
                                "(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 ... 30940 files and directories currently installed.)",
                                "Preparing to unpack .../python3-wheel_0.37.1-2ubuntu0.22.04.1_all.deb ...",
                                "Unpacking python3-wheel (0.37.1-2ubuntu0.22.04.1) ...",
                                "Selecting previously unselected package python3-pip.",
                                "Preparing to unpack .../python3-pip_22.0.2+dfsg-1ubuntu0.7_all.deb ...",
                                "Unpacking python3-pip (22.0.2+dfsg-1ubuntu0.7) ...",
                                "Setting up python3-wheel (0.37.1-2ubuntu0.22.04.1) ...",
                                "Setting up python3-pip (22.0.2+dfsg-1ubuntu0.7) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:38.544281Z",
                            "start": "2026-04-23T16:26:34.177754Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000005",
                        "name": "Install pip3 for Python package management"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.pip",
                            "changed": true,
                            "cmd": [
                                "/usr/bin/python3",
                                "-m",
                                "pip.__main__",
                                "install",
                                "kubernetes"
                            ],
                            "invocation": {
                                "module_args": {
                                    "chdir": null,
                                    "editable": false,
                                    "executable": null,
                                    "extra_args": null,
                                    "name": [
                                        "kubernetes"
                                    ],
                                    "requirements": null,
                                    "state": "present",
                                    "umask": null,
                                    "version": null,
                                    "virtualenv": null,
                                    "virtualenv_command": "virtualenv",
                                    "virtualenv_python": null,
                                    "virtualenv_site_packages": false
                                }
                            },
                            "name": [
                                "kubernetes"
                            ],
                            "requirements": null,
                            "state": "present",
                            "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n",
                            "stderr_lines": [
                                "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"
                            ],
                            "stdout": "Collecting kubernetes\n  Downloading kubernetes-35.0.0-py2.py3-none-any.whl (2.0 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.0/2.0 MB 5.2 MB/s eta 0:00:00\nRequirement already satisfied: requests in /usr/lib/python3/dist-packages (from kubernetes) (2.25.1)\nCollecting python-dateutil>=2.5.3\n  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 229.9/229.9 KB 7.0 MB/s eta 0:00:00\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n  Downloading websocket_client-1.9.0-py3-none-any.whl (82 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 82.6/82.6 KB 5.0 MB/s eta 0:00:00\nRequirement already satisfied: pyyaml>=5.4.1 in /usr/lib/python3/dist-packages (from kubernetes) (5.4.1)\nRequirement already satisfied: urllib3!=2.6.0,>=1.24.2 in /usr/lib/python3/dist-packages (from kubernetes) (1.26.5)\nCollecting requests-oauthlib\n  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)\nRequirement already satisfied: certifi>=14.05.14 in /usr/lib/python3/dist-packages (from kubernetes) (2020.6.20)\nCollecting durationpy>=0.7\n  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)\nRequirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from kubernetes) (1.16.0)\nRequirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib->kubernetes) (3.2.0)\nInstalling collected packages: durationpy, websocket-client, requests-oauthlib, python-dateutil, kubernetes\nSuccessfully installed durationpy-0.10 kubernetes-35.0.0 python-dateutil-2.9.0.post0 requests-oauthlib-2.0.0 websocket-client-1.9.0\n",
                            "stdout_lines": [
                                "Collecting kubernetes",
                                "  Downloading kubernetes-35.0.0-py2.py3-none-any.whl (2.0 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.0/2.0 MB 5.2 MB/s eta 0:00:00",
                                "Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from kubernetes) (2.25.1)",
                                "Collecting python-dateutil>=2.5.3",
                                "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 229.9/229.9 KB 7.0 MB/s eta 0:00:00",
                                "Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0",
                                "  Downloading websocket_client-1.9.0-py3-none-any.whl (82 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 82.6/82.6 KB 5.0 MB/s eta 0:00:00",
                                "Requirement already satisfied: pyyaml>=5.4.1 in /usr/lib/python3/dist-packages (from kubernetes) (5.4.1)",
                                "Requirement already satisfied: urllib3!=2.6.0,>=1.24.2 in /usr/lib/python3/dist-packages (from kubernetes) (1.26.5)",
                                "Collecting requests-oauthlib",
                                "  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)",
                                "Requirement already satisfied: certifi>=14.05.14 in /usr/lib/python3/dist-packages (from kubernetes) (2020.6.20)",
                                "Collecting durationpy>=0.7",
                                "  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)",
                                "Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from kubernetes) (1.16.0)",
                                "Requirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib->kubernetes) (3.2.0)",
                                "Installing collected packages: durationpy, websocket-client, requests-oauthlib, python-dateutil, kubernetes",
                                "Successfully installed durationpy-0.10 kubernetes-35.0.0 python-dateutil-2.9.0.post0 requests-oauthlib-2.0.0 websocket-client-1.9.0"
                            ],
                            "version": null,
                            "virtualenv": null
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:41.993772Z",
                            "start": "2026-04-23T16:26:38.548979Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000006",
                        "name": "Install Python \"kubernetes\" library for kubernetes.core modules"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:26:51.160680Z",
                    "start": "2026-04-23T16:26:41.996108Z"
                },
                "id": "0242ac17-0011-9e78-597f-000000000007",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "cmd": "go version",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "go 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-9e78-597f-00000000000c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "[Errno 2] No such file or directory: b'go'",
                            "rc": 2,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": []
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9e78-597f-00000000000a",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:42.542895Z",
                            "start": "2026-04-23T16:26:42.025797Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-00000000000c",
                        "name": "Check installed go version"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "install-go.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9e78-597f-00000000000a",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:42.605218Z",
                            "start": "2026-04-23T16:26:42.549735Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-00000000000d",
                        "name": "Skip if correct version of go is installed"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "tempfile",
                            "changed": true,
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "path": null,
                                    "prefix": "ansible.",
                                    "state": "directory",
                                    "suffix": ""
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/tmp/ansible.braym1_v",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9e78-597f-00000000000a",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:42.943118Z",
                            "start": "2026-04-23T16:26:42.624578Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-00000000003d",
                        "name": "Create temp directory"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "accept_ranges": "bytes",
                            "action": "uri",
                            "age": "0",
                            "alt_svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
                            "cache_control": "no-transform,public,max-age=86400",
                            "changed": false,
                            "connection": "close",
                            "content": "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717",
                            "content_disposition": "attachment",
                            "content_length": "64",
                            "content_security_policy": "default-src 'none'",
                            "content_type": "text/plain; charset=utf-8",
                            "cookies": {},
                            "cookies_string": "",
                            "date": "Thu, 23 Apr 2026 16:26:43 GMT",
                            "elapsed": 0,
                            "etag": "\"45f04c8\"",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "body": null,
                                    "body_format": "raw",
                                    "ca_path": null,
                                    "ciphers": null,
                                    "client_cert": null,
                                    "client_key": null,
                                    "creates": null,
                                    "decompress": true,
                                    "dest": null,
                                    "follow_redirects": "safe",
                                    "force": false,
                                    "force_basic_auth": false,
                                    "group": null,
                                    "headers": {},
                                    "http_agent": "ansible-httpget",
                                    "method": "GET",
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": false,
                                    "removes": null,
                                    "return_content": true,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "status_code": [
                                        200
                                    ],
                                    "timeout": 30,
                                    "unix_socket": null,
                                    "unredirected_headers": [],
                                    "unsafe_writes": false,
                                    "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz.sha256",
                                    "url_password": null,
                                    "url_username": null,
                                    "use_gssapi": false,
                                    "use_netrc": true,
                                    "use_proxy": true,
                                    "validate_certs": true
                                }
                            },
                            "last_modified": "Thu, 05 Jun 2025 18:37:01 GMT",
                            "msg": "OK (64 bytes)",
                            "redirected": false,
                            "server": "downloads",
                            "status": 200,
                            "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz.sha256",
                            "vary": "Accept-Encoding",
                            "x_content_type_options": "nosniff",
                            "x_frame_options": "SAMEORIGIN",
                            "x_identity_content_length": "64",
                            "x_xss_protection": "0"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9e78-597f-00000000000a",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:43.630847Z",
                            "start": "2026-04-23T16:26:42.950613Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-00000000003e",
                        "name": "Get archive checksum"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "get_url",
                            "changed": true,
                            "checksum_dest": null,
                            "checksum_src": "2c5e1671fad559a306e25abdb9a94e7cd086257f",
                            "dest": "/tmp/ansible.braym1_v/go1.24.4.linux-amd64.tar.gz",
                            "elapsed": 0,
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "sha256:77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717",
                                    "ciphers": null,
                                    "client_cert": null,
                                    "client_key": null,
                                    "decompress": true,
                                    "dest": "/tmp/ansible.braym1_v/go1.24.4.linux-amd64.tar.gz",
                                    "force": false,
                                    "force_basic_auth": false,
                                    "group": null,
                                    "headers": null,
                                    "http_agent": "ansible-httpget",
                                    "mode": null,
                                    "owner": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "timeout": 10,
                                    "tmp_dest": null,
                                    "unredirected_headers": [],
                                    "unsafe_writes": false,
                                    "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz",
                                    "url_password": null,
                                    "url_username": null,
                                    "use_gssapi": false,
                                    "use_netrc": true,
                                    "use_proxy": true,
                                    "validate_certs": true
                                }
                            },
                            "md5sum": "90a6481a5ac733d86d3fc0f96bde3cf7",
                            "mode": "0664",
                            "msg": "OK (78559214 bytes)",
                            "owner": "zuul",
                            "size": 78559214,
                            "src": "/home/zuul/.ansible/tmp/ansible-moduletmp-1776961604.051769-whgwu3lz/tmppqq6m3gg",
                            "state": "file",
                            "status_code": 200,
                            "uid": 1000,
                            "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9e78-597f-00000000000a",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:45.263573Z",
                            "start": "2026-04-23T16:26:43.637890Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-00000000003f",
                        "name": "Download go archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "unarchive",
                            "changed": true,
                            "dest": "/usr/local",
                            "extract_results": {
                                "cmd": [
                                    "/usr/bin/tar",
                                    "--extract",
                                    "-C",
                                    "/usr/local",
                                    "-z",
                                    "-f",
                                    "/tmp/ansible.braym1_v/go1.24.4.linux-amd64.tar.gz"
                                ],
                                "err": "",
                                "out": "",
                                "rc": 0
                            },
                            "gid": 0,
                            "group": "root",
                            "handler": "TgzArchive",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "copy": true,
                                    "creates": null,
                                    "decrypt": true,
                                    "dest": "/usr/local",
                                    "exclude": [],
                                    "extra_opts": [],
                                    "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": "/tmp/ansible.braym1_v/go1.24.4.linux-amd64.tar.gz",
                                    "unsafe_writes": false,
                                    "validate_certs": true
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "size": 4096,
                            "src": "/tmp/ansible.braym1_v/go1.24.4.linux-amd64.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9e78-597f-00000000000a",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:51.160680Z",
                            "start": "2026-04-23T16:26:45.274542Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000040",
                        "name": "Install go"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:28:29.017432Z",
                    "start": "2026-04-23T16:26:51.173483Z"
                },
                "id": "0242ac17-0011-9e78-597f-00000000000e",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "b2d30d08f91d58f9e3d9198c5c84a7e904820000",
                            "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": "b2d30d08f91d58f9e3d9198c5c84a7e904820000",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": "0644",
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776961611.2240028-32-22764008014863/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "5f35925ba76257b8ca209245e32ccfe6",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 36218,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776961611.2240028-32-22764008014863/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:26:51.947495Z",
                            "start": "2026-04-23T16:26:51.182908Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000010",
                        "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-23T16:26:52.281778Z",
                            "start": "2026-04-23T16:26:51.953627Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000011",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "prepare",
                                "-s",
                                "aio"
                            ],
                            "delta": "0:01:36.185438",
                            "end": "2026-04-23 16:28:28.734706",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule prepare -s aio",
                                    "_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-9e78-597f-000000000012-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:26:52.549268",
                            "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 openstacksdk (1.7MiB)\nDownloading netaddr (2.2MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading setuptools (1.1MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading ansible-core (2.1MiB)\nDownloading cryptography (4.2MiB)\nDownloading pygments (1.2MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading pydantic-core\n Downloading netaddr\n Downloading pygments\n Downloading setuptools\n Downloading cryptography\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 40ms\nWARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [aio > discovery] scenario test matrix: prepare\nINFO     [aio > prerun] Performing prerun with role_name_check=0...\nINFO     [aio > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 23 April 2026  16:27:41 +0000 (0:00:00.024)       0:00:00.024 ********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nThursday 23 April 2026  16:27:42 +0000 (0:00:01.134)       0:00:01.158 ********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nThursday 23 April 2026  16:27:42 +0000 (0:00:00.674)       0:00:01.833 ********\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 [Install \"dirmngr\" for GPG keyserver operations] **************************\nThursday 23 April 2026  16:27:43 +0000 (0:00:00.271)       0:00:02.104 ********\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nThursday 23 April 2026  16:27:44 +0000 (0:00:01.055)       0:00:03.160 ********\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nThursday 23 April 2026  16:27:44 +0000 (0:00:00.689)       0:00:03.850 ********\nchanged: [localhost] => (item=group_vars)\nchanged: [localhost] => (item=group_vars/all)\nchanged: [localhost] => (item=group_vars/controllers)\nchanged: [localhost] => (item=group_vars/cephs)\nchanged: [localhost] => (item=group_vars/computes)\nchanged: [localhost] => (item=host_vars)\n\nPLAY [Generate Ceph control plane configuration for workspace] *****************\n\nTASK [Ensure the Ceph control plane configuration file exists] *****************\nThursday 23 April 2026  16:27:45 +0000 (0:00:01.015)       0:00:04.865 ********\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nThursday 23 April 2026  16:27:46 +0000 (0:00:00.178)       0:00:05.044 ********\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nThursday 23 April 2026  16:27:46 +0000 (0:00:00.028)       0:00:05.072 ********\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': 'aec69f02-1a84-533d-ae19-116a0c440f29'})\nok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})\n\nTASK [Write new Ceph control plane configuration file to disk] *****************\nThursday 23 April 2026  16:27:46 +0000 (0:00:00.052)       0:00:05.124 ********\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nThursday 23 April 2026  16:27:46 +0000 (0:00:00.559)       0:00:05.683 ********\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nThursday 23 April 2026  16:27:46 +0000 (0:00:00.196)       0:00:05.880 ********\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nThursday 23 April 2026  16:27:46 +0000 (0:00:00.027)       0:00:05.908 ********\nok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})\n\nTASK [Write new Ceph OSDs configuration file to disk] **************************\nThursday 23 April 2026  16:27:47 +0000 (0:00:00.036)       0:00:05.944 ********\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nThursday 23 April 2026  16:27:47 +0000 (0:00:00.365)       0:00:06.310 ********\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nThursday 23 April 2026  16:27:47 +0000 (0:00:00.167)       0:00:06.477 ********\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nThursday 23 April 2026  16:27:47 +0000 (0:00:00.030)       0:00:06.508 ********\nok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})\n\nTASK [Write new Kubernetes configuration file to disk] *************************\nThursday 23 April 2026  16:27:47 +0000 (0:00:00.042)       0:00:06.550 ********\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nThursday 23 April 2026  16:27:47 +0000 (0:00:00.339)       0:00:06.889 ********\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nThursday 23 April 2026  16:27:48 +0000 (0:00:00.181)       0:00:07.071 ********\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nThursday 23 April 2026  16:27:48 +0000 (0:00:00.024)       0:00:07.096 ********\nok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})\nok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})\n\nTASK [Write new Keepalived configuration file to disk] *************************\nThursday 23 April 2026  16:27:48 +0000 (0:00:00.038)       0:00:07.135 ********\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 23 April 2026  16:27:48 +0000 (0:00:00.372)       0:00:07.508 ********\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nThursday 23 April 2026  16:27:49 +0000 (0:00:00.674)       0:00:08.183 ********\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nThursday 23 April 2026  16:27:49 +0000 (0:00:00.181)       0:00:08.365 ********\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nThursday 23 April 2026  16:27:49 +0000 (0:00:00.032)       0:00:08.397 ********\nok: [localhost] => (item=keycloak_host)\nok: [localhost] => (item=kube_prometheus_stack_grafana_host)\nok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)\nok: [localhost] => (item=kube_prometheus_stack_prometheus_host)\nok: [localhost] => (item=openstack_helm_endpoints_region_name)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_registry_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_host)\nok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)\n\nTASK [Write new endpoints file to disk] ****************************************\nThursday 23 April 2026  16:27:50 +0000 (0:00:00.784)       0:00:09.182 ********\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nThursday 23 April 2026  16:27:50 +0000 (0:00:00.352)       0:00:09.535 ********\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nThursday 23 April 2026  16:27:50 +0000 (0:00:00.183)       0:00:09.718 ********\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nThursday 23 April 2026  16:27:50 +0000 (0:00:00.180)       0:00:09.898 ********\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nThursday 23 April 2026  16:27:51 +0000 (0:00:00.032)       0:00:09.931 ********\nok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})\n\nTASK [Write new Neutron configuration file to disk] ****************************\nThursday 23 April 2026  16:27:51 +0000 (0:00:00.042)       0:00:09.973 ********\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nThursday 23 April 2026  16:27:51 +0000 (0:00:00.384)       0:00:10.357 ********\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nThursday 23 April 2026  16:27:51 +0000 (0:00:00.179)       0:00:10.536 ********\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nThursday 23 April 2026  16:27:51 +0000 (0:00:00.030)       0:00:10.567 ********\nok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})\n\nTASK [Write new Nova configuration file to disk] *******************************\nThursday 23 April 2026  16:27:51 +0000 (0:00:00.044)       0:00:10.612 ********\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nThursday 23 April 2026  16:27:52 +0000 (0:00:00.351)       0:00:10.964 ********\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nThursday 23 April 2026  16:27:52 +0000 (0:00:00.176)       0:00:11.141 ********\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nThursday 23 April 2026  16:27:52 +0000 (0:00:00.029)       0:00:11.171 ********\nok: [localhost] => (item=heat_auth_encryption_key)\nok: [localhost] => (item=keepalived_password)\nok: [localhost] => (item=keycloak_admin_password)\nok: [localhost] => (item=keycloak_database_password)\nok: [localhost] => (item=keystone_keycloak_client_secret)\nok: [localhost] => (item=keystone_oidc_crypto_passphrase)\nok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)\nok: [localhost] => (item=octavia_heartbeat_key)\nok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)\nok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)\n\nTASK [Generate base64 encoded secrets] *****************************************\nThursday 23 April 2026  16:27:52 +0000 (0:00:00.424)       0:00:11.596 ********\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nThursday 23 April 2026  16:27:52 +0000 (0:00:00.052)       0:00:11.648 ********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nThursday 23 April 2026  16:27:53 +0000 (0:00:00.381)       0:00:12.029 ********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nThursday 23 April 2026  16:27:56 +0000 (0:00:03.779)       0:00:15.809 ********\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nThursday 23 April 2026  16:27:56 +0000 (0:00:00.052)       0:00:15.862 ********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nThursday 23 April 2026  16:27:57 +0000 (0:00:00.327)       0:00:16.189 ********\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nThursday 23 April 2026  16:27:57 +0000 (0:00:00.362)       0:00:16.552 ********\nskipping: [localhost]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 23 April 2026  16:27:57 +0000 (0:00:00.038)       0:00:16.590 ********\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nThursday 23 April 2026  16:27:58 +0000 (0:00:00.689)       0:00:17.279 ********\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nThursday 23 April 2026  16:27:58 +0000 (0:00:00.323)       0:00:17.603 ********\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nThursday 23 April 2026  16:27:58 +0000 (0:00:00.200)       0:00:17.804 ********\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nThursday 23 April 2026  16:27:59 +0000 (0:00:00.191)       0:00:17.995 ********\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nThursday 23 April 2026  16:27:59 +0000 (0:00:00.190)       0:00:18.186 ********\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 23 April 2026  16:27:59 +0000 (0:00:00.390)       0:00:18.576 ********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nThursday 23 April 2026  16:28:00 +0000 (0:00:00.736)       0:00:19.313 ********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nThursday 23 April 2026  16:28:18 +0000 (0:00:18.483)       0:00:37.796 ********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nThursday 23 April 2026  16:28:19 +0000 (0:00:00.534)       0:00:38.331 ********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nThursday 23 April 2026  16:28:19 +0000 (0:00:00.217)       0:00:38.548 ********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nThursday 23 April 2026  16:28:20 +0000 (0:00:00.478)       0:00:39.027 ********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nThursday 23 April 2026  16:28:20 +0000 (0:00:00.196)       0:00:39.224 ********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nThursday 23 April 2026  16:28:20 +0000 (0:00:00.027)       0:00:39.251 ********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nThursday 23 April 2026  16:28:20 +0000 (0:00:00.521)       0:00:39.772 ********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nThursday 23 April 2026  16:28:21 +0000 (0:00:00.514)       0:00:40.286 ********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nThursday 23 April 2026  16:28:22 +0000 (0:00:00.738)       0:00:41.025 ********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nThursday 23 April 2026  16:28:25 +0000 (0:00:03.185)       0:00:44.210 ********\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY [controllers] *************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 23 April 2026  16:28:27 +0000 (0:00:01.874)       0:00:46.084 ********\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nThursday 23 April 2026  16:28:28 +0000 (0:00:00.892)       0:00:46.977 ********\nchanged: [instance]\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\nlocalhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nThursday 23 April 2026  16:28:28 +0000 (0:00:00.501)       0:00:47.478 ********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 18.48s\nGenerate SSH keys for missing variables --------------------------------- 3.78s\nCreate a volume group for each loop device ------------------------------ 3.19s\nCreate a logical volume for each loop device ---------------------------- 1.87s\nGathering Facts --------------------------------------------------------- 1.13s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.06s\nCreate folders for workspace -------------------------------------------- 1.02s\nGathering Facts --------------------------------------------------------- 0.89s\nGenerate endpoint skeleton for missing variables ------------------------ 0.78s\nStart loop devices ------------------------------------------------------ 0.74s\nGathering Facts --------------------------------------------------------- 0.74s\nPurge \"snapd\" package --------------------------------------------------- 0.69s\nGathering Facts --------------------------------------------------------- 0.69s\nGathering Facts --------------------------------------------------------- 0.67s\nConfigure short hostname ------------------------------------------------ 0.67s\nWrite new Ceph control plane configuration file to disk ----------------- 0.56s\nStart up service -------------------------------------------------------- 0.53s\nCreate devices for Ceph ------------------------------------------------- 0.52s\nSet permissions on loopback devices ------------------------------------- 0.51s\nSet masquerade rule ----------------------------------------------------- 0.50s\nINFO     [aio > prepare] Executed: Successful\nINFO     Molecule executed 1 scenario (1 successful)",
                            "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 openstacksdk (1.7MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading pygments (1.2MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading setuptools",
                                " Downloading cryptography",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 40ms",
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [aio > discovery] scenario test matrix: prepare",
                                "INFO     [aio > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [aio > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 23 April 2026  16:27:41 +0000 (0:00:00.024)       0:00:00.024 ********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Thursday 23 April 2026  16:27:42 +0000 (0:00:01.134)       0:00:01.158 ********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Thursday 23 April 2026  16:27:42 +0000 (0:00:00.674)       0:00:01.833 ********",
                                "[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 [Install \"dirmngr\" for GPG keyserver operations] **************************",
                                "Thursday 23 April 2026  16:27:43 +0000 (0:00:00.271)       0:00:02.104 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Thursday 23 April 2026  16:27:44 +0000 (0:00:01.055)       0:00:03.160 ********",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Thursday 23 April 2026  16:27:44 +0000 (0:00:00.689)       0:00:03.850 ********",
                                "changed: [localhost] => (item=group_vars)",
                                "changed: [localhost] => (item=group_vars/all)",
                                "changed: [localhost] => (item=group_vars/controllers)",
                                "changed: [localhost] => (item=group_vars/cephs)",
                                "changed: [localhost] => (item=group_vars/computes)",
                                "changed: [localhost] => (item=host_vars)",
                                "",
                                "PLAY [Generate Ceph control plane configuration for workspace] *****************",
                                "",
                                "TASK [Ensure the Ceph control plane configuration file exists] *****************",
                                "Thursday 23 April 2026  16:27:45 +0000 (0:00:01.015)       0:00:04.865 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Thursday 23 April 2026  16:27:46 +0000 (0:00:00.178)       0:00:05.044 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Thursday 23 April 2026  16:27:46 +0000 (0:00:00.028)       0:00:05.072 ********",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': 'aec69f02-1a84-533d-ae19-116a0c440f29'})",
                                "ok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})",
                                "",
                                "TASK [Write new Ceph control plane configuration file to disk] *****************",
                                "Thursday 23 April 2026  16:27:46 +0000 (0:00:00.052)       0:00:05.124 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Thursday 23 April 2026  16:27:46 +0000 (0:00:00.559)       0:00:05.683 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Thursday 23 April 2026  16:27:46 +0000 (0:00:00.196)       0:00:05.880 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Thursday 23 April 2026  16:27:46 +0000 (0:00:00.027)       0:00:05.908 ********",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Thursday 23 April 2026  16:27:47 +0000 (0:00:00.036)       0:00:05.944 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Thursday 23 April 2026  16:27:47 +0000 (0:00:00.365)       0:00:06.310 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Thursday 23 April 2026  16:27:47 +0000 (0:00:00.167)       0:00:06.477 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Thursday 23 April 2026  16:27:47 +0000 (0:00:00.030)       0:00:06.508 ********",
                                "ok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})",
                                "",
                                "TASK [Write new Kubernetes configuration file to disk] *************************",
                                "Thursday 23 April 2026  16:27:47 +0000 (0:00:00.042)       0:00:06.550 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Thursday 23 April 2026  16:27:47 +0000 (0:00:00.339)       0:00:06.889 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Thursday 23 April 2026  16:27:48 +0000 (0:00:00.181)       0:00:07.071 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Thursday 23 April 2026  16:27:48 +0000 (0:00:00.024)       0:00:07.096 ********",
                                "ok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})",
                                "ok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})",
                                "",
                                "TASK [Write new Keepalived configuration file to disk] *************************",
                                "Thursday 23 April 2026  16:27:48 +0000 (0:00:00.038)       0:00:07.135 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 23 April 2026  16:27:48 +0000 (0:00:00.372)       0:00:07.508 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Thursday 23 April 2026  16:27:49 +0000 (0:00:00.674)       0:00:08.183 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Thursday 23 April 2026  16:27:49 +0000 (0:00:00.181)       0:00:08.365 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Thursday 23 April 2026  16:27:49 +0000 (0:00:00.032)       0:00:08.397 ********",
                                "ok: [localhost] => (item=keycloak_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_prometheus_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_region_name)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_registry_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)",
                                "",
                                "TASK [Write new endpoints file to disk] ****************************************",
                                "Thursday 23 April 2026  16:27:50 +0000 (0:00:00.784)       0:00:09.182 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Thursday 23 April 2026  16:27:50 +0000 (0:00:00.352)       0:00:09.535 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Thursday 23 April 2026  16:27:50 +0000 (0:00:00.183)       0:00:09.718 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Thursday 23 April 2026  16:27:50 +0000 (0:00:00.180)       0:00:09.898 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Thursday 23 April 2026  16:27:51 +0000 (0:00:00.032)       0:00:09.931 ********",
                                "ok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})",
                                "",
                                "TASK [Write new Neutron configuration file to disk] ****************************",
                                "Thursday 23 April 2026  16:27:51 +0000 (0:00:00.042)       0:00:09.973 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Thursday 23 April 2026  16:27:51 +0000 (0:00:00.384)       0:00:10.357 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Thursday 23 April 2026  16:27:51 +0000 (0:00:00.179)       0:00:10.536 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Thursday 23 April 2026  16:27:51 +0000 (0:00:00.030)       0:00:10.567 ********",
                                "ok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})",
                                "",
                                "TASK [Write new Nova configuration file to disk] *******************************",
                                "Thursday 23 April 2026  16:27:51 +0000 (0:00:00.044)       0:00:10.612 ********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Thursday 23 April 2026  16:27:52 +0000 (0:00:00.351)       0:00:10.964 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Thursday 23 April 2026  16:27:52 +0000 (0:00:00.176)       0:00:11.141 ********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Thursday 23 April 2026  16:27:52 +0000 (0:00:00.029)       0:00:11.171 ********",
                                "ok: [localhost] => (item=heat_auth_encryption_key)",
                                "ok: [localhost] => (item=keepalived_password)",
                                "ok: [localhost] => (item=keycloak_admin_password)",
                                "ok: [localhost] => (item=keycloak_database_password)",
                                "ok: [localhost] => (item=keystone_keycloak_client_secret)",
                                "ok: [localhost] => (item=keystone_oidc_crypto_passphrase)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)",
                                "ok: [localhost] => (item=octavia_heartbeat_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)",
                                "",
                                "TASK [Generate base64 encoded secrets] *****************************************",
                                "Thursday 23 April 2026  16:27:52 +0000 (0:00:00.424)       0:00:11.596 ********",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Thursday 23 April 2026  16:27:52 +0000 (0:00:00.052)       0:00:11.648 ********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Thursday 23 April 2026  16:27:53 +0000 (0:00:00.381)       0:00:12.029 ********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Thursday 23 April 2026  16:27:56 +0000 (0:00:03.779)       0:00:15.809 ********",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Thursday 23 April 2026  16:27:56 +0000 (0:00:00.052)       0:00:15.862 ********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Thursday 23 April 2026  16:27:57 +0000 (0:00:00.327)       0:00:16.189 ********",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Thursday 23 April 2026  16:27:57 +0000 (0:00:00.362)       0:00:16.552 ********",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 23 April 2026  16:27:57 +0000 (0:00:00.038)       0:00:16.590 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Thursday 23 April 2026  16:27:58 +0000 (0:00:00.689)       0:00:17.279 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Thursday 23 April 2026  16:27:58 +0000 (0:00:00.323)       0:00:17.603 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Thursday 23 April 2026  16:27:58 +0000 (0:00:00.200)       0:00:17.804 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Thursday 23 April 2026  16:27:59 +0000 (0:00:00.191)       0:00:17.995 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Thursday 23 April 2026  16:27:59 +0000 (0:00:00.190)       0:00:18.186 ********",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 23 April 2026  16:27:59 +0000 (0:00:00.390)       0:00:18.576 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Thursday 23 April 2026  16:28:00 +0000 (0:00:00.736)       0:00:19.313 ********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Thursday 23 April 2026  16:28:18 +0000 (0:00:18.483)       0:00:37.796 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Thursday 23 April 2026  16:28:19 +0000 (0:00:00.534)       0:00:38.331 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Thursday 23 April 2026  16:28:19 +0000 (0:00:00.217)       0:00:38.548 ********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Thursday 23 April 2026  16:28:20 +0000 (0:00:00.478)       0:00:39.027 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Thursday 23 April 2026  16:28:20 +0000 (0:00:00.196)       0:00:39.224 ********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Thursday 23 April 2026  16:28:20 +0000 (0:00:00.027)       0:00:39.251 ********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Thursday 23 April 2026  16:28:20 +0000 (0:00:00.521)       0:00:39.772 ********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Thursday 23 April 2026  16:28:21 +0000 (0:00:00.514)       0:00:40.286 ********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Thursday 23 April 2026  16:28:22 +0000 (0:00:00.738)       0:00:41.025 ********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Thursday 23 April 2026  16:28:25 +0000 (0:00:03.185)       0:00:44.210 ********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 23 April 2026  16:28:27 +0000 (0:00:01.874)       0:00:46.084 ********",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Thursday 23 April 2026  16:28:28 +0000 (0:00:00.892)       0:00:46.977 ********",
                                "changed: [instance]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "localhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Thursday 23 April 2026  16:28:28 +0000 (0:00:00.501)       0:00:47.478 ********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 18.48s",
                                "Generate SSH keys for missing variables --------------------------------- 3.78s",
                                "Create a volume group for each loop device ------------------------------ 3.19s",
                                "Create a logical volume for each loop device ---------------------------- 1.87s",
                                "Gathering Facts --------------------------------------------------------- 1.13s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.06s",
                                "Create folders for workspace -------------------------------------------- 1.02s",
                                "Gathering Facts --------------------------------------------------------- 0.89s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.78s",
                                "Start loop devices ------------------------------------------------------ 0.74s",
                                "Gathering Facts --------------------------------------------------------- 0.74s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.69s",
                                "Gathering Facts --------------------------------------------------------- 0.69s",
                                "Gathering Facts --------------------------------------------------------- 0.67s",
                                "Configure short hostname ------------------------------------------------ 0.67s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.56s",
                                "Start up service -------------------------------------------------------- 0.53s",
                                "Create devices for Ceph ------------------------------------------------- 0.52s",
                                "Set permissions on loopback devices ------------------------------------- 0.51s",
                                "Set masquerade rule ----------------------------------------------------- 0.50s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     Molecule executed 1 scenario (1 successful)"
                            ],
                            "zuul_log_id": "0242ac17-0011-9e78-597f-000000000012-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:28:29.017432Z",
                            "start": "2026-04-23T16:26:52.354186Z"
                        },
                        "id": "0242ac17-0011-9e78-597f-000000000012",
                        "name": "Run molecule prepare"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 9,
            "failures": 0,
            "ignored": 0,
            "ok": 12,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:30:32.110933Z",
                    "start": "2026-04-23T16:28:29.812756Z"
                },
                "id": "0242ac17-0011-97f4-5d58-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": false,
                            "cmd": [
                                "go",
                                "build",
                                "-o",
                                "./bin/atmosphere",
                                "./cmd/atmosphere"
                            ],
                            "delta": "0:00:06.705727",
                            "end": "2026-04-23 16:28:36.914357",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "go build -o ./bin/atmosphere ./cmd/atmosphere",
                                    "_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-97f4-5d58-000000000004-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:28:30.208630",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "go: downloading github.com/spf13/cobra v1.9.1\ngo: downloading golang.org/x/sync v0.18.0\ngo: downloading github.com/spf13/pflag v1.0.7",
                            "stdout_lines": [
                                "go: downloading github.com/spf13/cobra v1.9.1",
                                "go: downloading golang.org/x/sync v0.18.0",
                                "go: downloading github.com/spf13/pflag v1.0.7"
                            ],
                            "zuul_log_id": "0242ac17-0011-97f4-5d58-000000000004-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:28:37.375638Z",
                            "start": "2026-04-23T16:28:29.844679Z"
                        },
                        "id": "0242ac17-0011-97f4-5d58-000000000004",
                        "name": "Build atmosphere binary"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "cmd": ". .venv/bin/activate && ./bin/atmosphere deploy --inventory ./inventory.yaml \n",
                            "delta": "0:01:54.387407",
                            "end": "2026-04-23 16:30:31.957572",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": ". .venv/bin/activate && ./bin/atmosphere deploy --inventory ./inventory.yaml \n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "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-97f4-5d58-000000000005-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-23 16:28:37.570165",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "==> Running preflight checks\n[preflight] \n[preflight] PLAY [Preflight checks] ********************************************************\n[preflight] \n[preflight] TASK [Fail if atmosphere_ceph_enabled is set] **********************************\n[preflight] skipping: [instance]\n[preflight] \n[preflight] PLAY RECAP *********************************************************************\n[preflight] instance                   : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   \n[preflight] \n==> Preflight checks passed\n==> Starting parallel deployment\n==> [udev] Starting deployment\n==> [multipathd] Starting deployment\n==> [iscsi] Starting deployment\n==> [ceph] Starting deployment\n==> [kubernetes] Starting deployment\n==> [lpfc] Starting deployment\n[udev] \n[udev] PLAY [controllers:computes] ****************************************************\n[udev] \n[udev] TASK [Gathering Facts] *********************************************************\n[multipathd] \n[multipathd] PLAY [controllers:computes] ****************************************************\n[multipathd] \n[multipathd] TASK [Gathering Facts] *********************************************************\n[lpfc] \n[lpfc] PLAY [controllers:computes] ****************************************************\n[lpfc] \n[lpfc] TASK [Gathering Facts] *********************************************************\n[ceph] \n[ceph] PLAY [all] *********************************************************************\n[ceph] \n[ceph] TASK [Gathering Facts] *********************************************************\n[multipathd] [WARNING]: Platform linux on host instance is using the discovered Python\n[multipathd] interpreter at /usr/bin/python3.10, but future installation of another Python\n[multipathd] interpreter could change the meaning of that path. See\n[multipathd] https://docs.ansible.com/ansible-\n[multipathd] core/2.17/reference_appendices/interpreter_discovery.html for more information.\n[multipathd] ok: [instance]\n[multipathd] \n[multipathd] TASK [vexxhost.atmosphere.multipathd : Add backports PPA] **********************\n[udev] [WARNING]: Platform linux on host instance is using the discovered Python\n[udev] interpreter at /usr/bin/python3.10, but future installation of another Python\n[udev] interpreter could change the meaning of that path. See\n[udev] https://docs.ansible.com/ansible-\n[udev] core/2.17/reference_appendices/interpreter_discovery.html for more information.\n[udev] ok: [instance]\n[udev] \n[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray] ***\n[lpfc] [WARNING]: Platform linux on host instance is using the discovered Python\n[lpfc] interpreter at /usr/bin/python3.10, but future installation of another Python\n[lpfc] interpreter could change the meaning of that path. See\n[lpfc] https://docs.ansible.com/ansible-\n[lpfc] core/2.17/reference_appendices/interpreter_discovery.html for more information.\n[lpfc] ok: [instance]\n[lpfc] \n[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the \"lpfc\" module is loaded] ********\n[ceph] [WARNING]: Platform linux on host instance is using the discovered Python\n[ceph] interpreter at /usr/bin/python3.10, but future installation of another Python\n[ceph] interpreter could change the meaning of that path. See\n[ceph] https://docs.ansible.com/ansible-\n[ceph] core/2.17/reference_appendices/interpreter_discovery.html for more information.\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [Fail if atmosphere_ceph_enabled is set] **********************************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\n[ceph] ok: [instance]\n[ceph] \n[ceph] PLAY [Deploy Ceph monitors & managers] *****************************************\n[ceph] \n[ceph] TASK [Gathering Facts] *********************************************************\n[lpfc] ok: [instance]\n[lpfc] \n[lpfc] TASK [vexxhost.atmosphere.lpfc : Install the configuration file] ***************\n[lpfc] skipping: [instance]\n[lpfc] \n[lpfc] TASK [vexxhost.atmosphere.lpfc : Get the values for the module parameters] *****\n[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \n[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \n[lpfc] skipping: [instance] => (item=lpfc_max_luns) \n[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \n[lpfc] skipping: [instance]\n[lpfc] \n[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly] ***\n[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \n[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \n[lpfc] skipping: [instance] => (item=lpfc_max_luns) \n[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \n[lpfc] skipping: [instance]\n[lpfc] \n[lpfc] TASK [vexxhost.atmosphere.lpfc : Update \"initramfs\" if the configuration file has changed] ***\n[lpfc] skipping: [instance]\n[lpfc] \n[lpfc] TASK [Reboot the system if the configuration file has changed] *****************\n[lpfc] skipping: [instance]\n[lpfc] \n[lpfc] PLAY RECAP *********************************************************************\n[lpfc] instance                   : ok=2    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0   \n[lpfc] \n==> [lpfc] Deployment complete\n[udev] changed: [instance]\n[udev] \n[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention] *******\n[udev] changed: [instance]\n[udev] \n[udev] RUNNING HANDLER [vexxhost.atmosphere.udev : Reload udev] ***********************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[udev] ok: [instance]\n[udev] \n[udev] PLAY RECAP *********************************************************************\n[udev] instance                   : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \n[udev] \n==> [udev] Deployment complete\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[ceph] ok: [instance] => {\n[ceph]     \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n[ceph] }\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[ceph] ok: [instance] => {\n[ceph]     \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n[ceph] }\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[multipathd] changed: [instance]\n[multipathd] \n[multipathd] TASK [vexxhost.atmosphere.multipathd : Install the multipathd package] *********\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\n[multipathd] changed: [instance]\n[multipathd] \n[multipathd] TASK [vexxhost.atmosphere.multipathd : Install the configuration file] *********\n[multipathd] changed: [instance]\n[multipathd] \n[multipathd] RUNNING HANDLER [vexxhost.atmosphere.multipathd : Restart \"multipathd\"] ********\n[multipathd] changed: [instance]\n[multipathd] \n[multipathd] PLAY RECAP *********************************************************************\n[multipathd] instance                   : ok=5    changed=4    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \n[multipathd] \n==> [multipathd] Deployment complete\n[iscsi] \n[iscsi] PLAY [controllers:computes] ****************************************************\n[iscsi] \n[iscsi] TASK [Gathering Facts] *********************************************************\n[iscsi] [WARNING]: Platform linux on host instance is using the discovered Python\n[iscsi] interpreter at /usr/bin/python3.10, but future installation of another Python\n[iscsi] interpreter could change the meaning of that path. See\n[iscsi] https://docs.ansible.com/ansible-\n[iscsi] core/2.17/reference_appendices/interpreter_discovery.html for more information.\n[iscsi] ok: [instance]\n[iscsi] \n[iscsi] TASK [vexxhost.atmosphere.iscsi : Install iscsi package] ***********************\n[iscsi] ok: [instance]\n[iscsi] \n[iscsi] TASK [vexxhost.atmosphere.iscsi : Ensure iscsid is started] ********************\n[iscsi] changed: [instance]\n[iscsi] \n[iscsi] PLAY RECAP *********************************************************************\n[iscsi] instance                   : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \n[iscsi] \n==> [iscsi] Deployment complete\n[kubernetes] \n[kubernetes] PLAY [all] *********************************************************************\n[kubernetes] \n[kubernetes] TASK [Gathering Facts] *********************************************************\n[kubernetes] [WARNING]: Platform linux on host instance is using the discovered Python\n[kubernetes] interpreter at /usr/bin/python3.10, but future installation of another Python\n[kubernetes] interpreter could change the meaning of that path. See\n[kubernetes] https://docs.ansible.com/ansible-\n[kubernetes] core/2.17/reference_appendices/interpreter_discovery.html for more information.\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\n[kubernetes] changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\n[kubernetes] changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\n[kubernetes] \n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\n[ceph] FAILED - RETRYING: [instance]: Install AppArmor packages (5 retries left).\n[ceph] FAILED - RETRYING: [instance]: Install AppArmor packages (4 retries left).\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] PLAY [Configure Kubernetes VIP] ************************************************\n[kubernetes] \n[kubernetes] TASK [Gathering Facts] *********************************************************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\n[ceph] changed: [instance] => (item={'path': '/etc/containerd'})\n[ceph] changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\n[ceph] changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\n[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\n[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\n[ceph] \n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\n[kubernetes] ok: [instance] => (item=/etc/keepalived/keepalived.conf)\n[kubernetes] ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\n[kubernetes] ok: [instance] => (item=/etc/haproxy/haproxy.cfg)\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\n[ceph] ok: [instance]\n[ceph] \n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\n[kubernetes] 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}\n[kubernetes] 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}\n[kubernetes] 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}\n[kubernetes] ...ignoring\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\n[ceph] ok: [instance] => {\n[ceph]     \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n[ceph] }\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\n[kubernetes] \n[kubernetes] PLAY [Install Kubernetes] ******************************************************\n[kubernetes] \n[kubernetes] TASK [Gathering Facts] *********************************************************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\n[ceph] changed: [instance] => (item={'path': '/etc/docker'})\n[ceph] changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\n[ceph] changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\n[ceph] \n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\n[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\n[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\n[ceph] ok: [instance]\n[ceph] \n[ceph] RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\n[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\n[kubernetes] An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible_collections.kubernetes.core.plugins.module_utils.k8s.exceptions.CoreException: Could not create API client: Invalid kube-config file. No configuration found.\n[kubernetes] fatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}\n[kubernetes] ...ignoring\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[ceph] ok: [instance] => (item=chronyd)\n[ceph] ok: [instance] => (item=sshd)\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\n[ceph] skipping: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\n[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\n[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\n[ceph] ok: [instance] => (item=instance)\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\n[ceph] ok: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\n[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\n[ceph] changed: [instance]\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Include extra configuration values] ******************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[ceph] changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\n[ceph] changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\n[ceph] changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.cri_tools : Create crictl config] ********************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\n[kubernetes] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\n[kubernetes] changed: [instance] => (item=br_netfilter)\n[kubernetes] ok: [instance] => (item=ip_tables)\n[kubernetes] changed: [instance] => (item=ip6_tables)\n[kubernetes] ok: [instance] => (item=nf_conntrack)\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\n[kubernetes] ok: [instance] => {\n[kubernetes]     \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n[kubernetes] }\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\n[kubernetes] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})\n[kubernetes] changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})\n[kubernetes] changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})\n[kubernetes] changed: [instance] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})\n[kubernetes] changed: [instance] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})\n[kubernetes] changed: [instance] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***\n[kubernetes] changed: [instance] => (item=/etc/systemd/system/kubelet.service.d)\n[kubernetes] ok: [instance] => (item=/etc/kubernetes)\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests)\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\n[kubernetes] skipping: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\n[kubernetes] ok: [instance] => (item=swap)\n[kubernetes] ok: [instance] => (item=none)\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\n[kubernetes] changed: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\n[kubernetes] \n[kubernetes] RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\n[kubernetes] ok: [instance]\n[kubernetes] \n[kubernetes] TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\n[ceph] fatal: [instance]: FAILED! => {\"changed\": false, \"cmd\": [\"cephadm\", \"bootstrap\", \"--fsid\", \"4837cbf8-4f90-4300-b3f6-726c9b9f89b4\", \"--mon-ip\", \"10.96.240.200\", \"--cluster-network\", \"10.96.240.0/24\", \"--ssh-user\", \"cephadm\", \"--config\", \"/tmp/ceph_acrjkef0.conf\", \"--skip-monitoring-stack\"], \"delta\": \"0:00:43.285827\", \"end\": \"2026-04-23 16:30:31.335314\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-23 16:29:48.049487\", \"stderr\": \"Specifying an fsid for your cluster offers no advantages and may increase the likelihood of fsid conflicts.\\nRuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\\n\\nTraceback (most recent call last):\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 196, in _run_module_as_main\\n    return _run_code(code, main_globals, None,\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 86, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 11009, in <module>\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 10997, in main\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6395, in _rollback\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2643, in _default_image\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6566, in command_bootstrap\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6250, in finish_bootstrap_config\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6556, in cli\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 4895, in run\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2283, in call_throws\\nRuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\", \"stderr_lines\": [\"Specifying an fsid for your cluster offers no advantages and may increase the likelihood of fsid conflicts.\", \"RuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\", \"\", \"Traceback (most recent call last):\", \"  File \\\"/usr/lib/python3.10/runpy.py\\\", line 196, in _run_module_as_main\", \"    return _run_code(code, main_globals, None,\", \"  File \\\"/usr/lib/python3.10/runpy.py\\\", line 86, in _run_code\", \"    exec(code, run_globals)\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 11009, in <module>\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 10997, in main\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6395, in _rollback\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2643, in _default_image\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6566, in command_bootstrap\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6250, in finish_bootstrap_config\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6556, in cli\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 4895, in run\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2283, in call_throws\", \"RuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\"], \"stdout\": \"Creating directory /etc/ceph for ceph.conf\\nVerifying ssh connectivity using standard pubkey authentication ...\\nAdding key to cephadm@localhost authorized_keys...\\nVerifying podman|docker is present...\\nVerifying lvm2 is present...\\nVerifying time synchronization is in place...\\nUnit chrony.service is enabled and running\\nRepeating the final host check...\\ndocker (/usr/bin/docker) is present\\nsystemctl is present\\nlvcreate is present\\nUnit chrony.service is enabled and running\\nHost looks OK\\nCluster fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\\nVerifying IP 10.96.240.200 port 3300 ...\\nVerifying IP 10.96.240.200 port 6789 ...\\nMon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\\nMon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\\nPulling container image quay.io/ceph/ceph:v18.2.7...\\nCeph version: ceph version 18.2.7 (6b0e988052ec84cf2d4a54ff9bbbc5e720b621ad) reef (stable)\\nExtracting ceph user uid/gid from container image...\\nCreating initial keys...\\nCreating initial monmap...\\nCreating mon...\\nWaiting for mon to start...\\nWaiting for mon...\\nmon is available\\nAssimilating anything we can from ceph.conf...\\nGenerating new minimal ceph.conf...\\nRestarting the monitor...\\nSetting public_network to 10.96.240.0/24 in global config section\\nSetting cluster_network to 10.96.240.0/24\\nNon-zero exit code 125 from /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24\\n/usr/bin/ceph: stderr docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\\n\\n\\n\\t***************\\n\\tCephadm hit an issue during cluster installation. Current cluster files will NOT BE DELETED automatically to change\\n\\tthis behaviour you can pass the --cleanup-on-failure. To remove this broken cluster manually please run:\\n\\n\\t   > cephadm rm-cluster --force --fsid 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\\n\\n\\tin case of any previous broken installation user must use the rm-cluster command to delete the broken cluster:\\n\\n\\t   > cephadm rm-cluster --force --zap-osds --fsid <fsid>\\n\\n\\tfor more information please refer to https://docs.ceph.com/en/latest/cephadm/operations/#purging-a-cluster\\n\\t***************\", \"stdout_lines\": [\"Creating directory /etc/ceph for ceph.conf\", \"Verifying ssh connectivity using standard pubkey authentication ...\", \"Adding key to cephadm@localhost authorized_keys...\", \"Verifying podman|docker is present...\", \"Verifying lvm2 is present...\", \"Verifying time synchronization is in place...\", \"Unit chrony.service is enabled and running\", \"Repeating the final host check...\", \"docker (/usr/bin/docker) is present\", \"systemctl is present\", \"lvcreate is present\", \"Unit chrony.service is enabled and running\", \"Host looks OK\", \"Cluster fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\", \"Verifying IP 10.96.240.200 port 3300 ...\", \"Verifying IP 10.96.240.200 port 6789 ...\", \"Mon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\", \"Mon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\", \"Pulling container image quay.io/ceph/ceph:v18.2.7...\", \"Ceph version: ceph version 18.2.7 (6b0e988052ec84cf2d4a54ff9bbbc5e720b621ad) reef (stable)\", \"Extracting ceph user uid/gid from container image...\", \"Creating initial keys...\", \"Creating initial monmap...\", \"Creating mon...\", \"Waiting for mon to start...\", \"Waiting for mon...\", \"mon is available\", \"Assimilating anything we can from ceph.conf...\", \"Generating new minimal ceph.conf...\", \"Restarting the monitor...\", \"Setting public_network to 10.96.240.0/24 in global config section\", \"Setting cluster_network to 10.96.240.0/24\", \"Non-zero exit code 125 from /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24\", \"/usr/bin/ceph: stderr docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\", \"\", \"\", \"\\t***************\", \"\\tCephadm hit an issue during cluster installation. Current cluster files will NOT BE DELETED automatically to change\", \"\\tthis behaviour you can pass the --cleanup-on-failure. To remove this broken cluster manually please run:\", \"\", \"\\t   > cephadm rm-cluster --force --fsid 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\", \"\", \"\\tin case of any previous broken installation user must use the rm-cluster command to delete the broken cluster:\", \"\", \"\\t   > cephadm rm-cluster --force --zap-osds --fsid <fsid>\", \"\", \"\\tfor more information please refer to https://docs.ceph.com/en/latest/cephadm/operations/#purging-a-cluster\", \"\\t***************\"]}\n[ceph] \n[ceph] TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\n[ceph] changed: [instance]\n[ceph] \n[ceph] PLAY RECAP *********************************************************************\n[ceph] instance                   : ok=48   changed=26   unreachable=0    failed=1    skipped=14   rescued=0    ignored=0   \n[ceph] \nError: component ceph failed: ansible-playbook failed for ceph: exit status 2\nUsage:\n  atmosphere deploy [flags]\n\nFlags:\n      --concurrency int    Max concurrent deployments per wave (0 = unlimited)\n  -h, --help               help for deploy\n  -i, --inventory string   Path to Ansible inventory file (required)\n  -t, --tags string        Comma-separated list of component tags to deploy\n\ncomponent ceph failed: ansible-playbook failed for ceph: exit status 2",
                            "stdout_lines": [
                                "==> Running preflight checks",
                                "[preflight] ",
                                "[preflight] PLAY [Preflight checks] ********************************************************",
                                "[preflight] ",
                                "[preflight] TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "[preflight] skipping: [instance]",
                                "[preflight] ",
                                "[preflight] PLAY RECAP *********************************************************************",
                                "[preflight] instance                   : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   ",
                                "[preflight] ",
                                "==> Preflight checks passed",
                                "==> Starting parallel deployment",
                                "==> [udev] Starting deployment",
                                "==> [multipathd] Starting deployment",
                                "==> [iscsi] Starting deployment",
                                "==> [ceph] Starting deployment",
                                "==> [kubernetes] Starting deployment",
                                "==> [lpfc] Starting deployment",
                                "[udev] ",
                                "[udev] PLAY [controllers:computes] ****************************************************",
                                "[udev] ",
                                "[udev] TASK [Gathering Facts] *********************************************************",
                                "[multipathd] ",
                                "[multipathd] PLAY [controllers:computes] ****************************************************",
                                "[multipathd] ",
                                "[multipathd] TASK [Gathering Facts] *********************************************************",
                                "[lpfc] ",
                                "[lpfc] PLAY [controllers:computes] ****************************************************",
                                "[lpfc] ",
                                "[lpfc] TASK [Gathering Facts] *********************************************************",
                                "[ceph] ",
                                "[ceph] PLAY [all] *********************************************************************",
                                "[ceph] ",
                                "[ceph] TASK [Gathering Facts] *********************************************************",
                                "[multipathd] [WARNING]: Platform linux on host instance is using the discovered Python",
                                "[multipathd] interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "[multipathd] interpreter could change the meaning of that path. See",
                                "[multipathd] https://docs.ansible.com/ansible-",
                                "[multipathd] core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "[multipathd] ok: [instance]",
                                "[multipathd] ",
                                "[multipathd] TASK [vexxhost.atmosphere.multipathd : Add backports PPA] **********************",
                                "[udev] [WARNING]: Platform linux on host instance is using the discovered Python",
                                "[udev] interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "[udev] interpreter could change the meaning of that path. See",
                                "[udev] https://docs.ansible.com/ansible-",
                                "[udev] core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "[udev] ok: [instance]",
                                "[udev] ",
                                "[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray] ***",
                                "[lpfc] [WARNING]: Platform linux on host instance is using the discovered Python",
                                "[lpfc] interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "[lpfc] interpreter could change the meaning of that path. See",
                                "[lpfc] https://docs.ansible.com/ansible-",
                                "[lpfc] core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "[lpfc] ok: [instance]",
                                "[lpfc] ",
                                "[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the \"lpfc\" module is loaded] ********",
                                "[ceph] [WARNING]: Platform linux on host instance is using the discovered Python",
                                "[ceph] interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "[ceph] interpreter could change the meaning of that path. See",
                                "[ceph] https://docs.ansible.com/ansible-",
                                "[ceph] core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "[ceph] ",
                                "[ceph] TASK [Gathering Facts] *********************************************************",
                                "[lpfc] ok: [instance]",
                                "[lpfc] ",
                                "[lpfc] TASK [vexxhost.atmosphere.lpfc : Install the configuration file] ***************",
                                "[lpfc] skipping: [instance]",
                                "[lpfc] ",
                                "[lpfc] TASK [vexxhost.atmosphere.lpfc : Get the values for the module parameters] *****",
                                "[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) ",
                                "[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) ",
                                "[lpfc] skipping: [instance] => (item=lpfc_max_luns) ",
                                "[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) ",
                                "[lpfc] skipping: [instance]",
                                "[lpfc] ",
                                "[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly] ***",
                                "[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) ",
                                "[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) ",
                                "[lpfc] skipping: [instance] => (item=lpfc_max_luns) ",
                                "[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) ",
                                "[lpfc] skipping: [instance]",
                                "[lpfc] ",
                                "[lpfc] TASK [vexxhost.atmosphere.lpfc : Update \"initramfs\" if the configuration file has changed] ***",
                                "[lpfc] skipping: [instance]",
                                "[lpfc] ",
                                "[lpfc] TASK [Reboot the system if the configuration file has changed] *****************",
                                "[lpfc] skipping: [instance]",
                                "[lpfc] ",
                                "[lpfc] PLAY RECAP *********************************************************************",
                                "[lpfc] instance                   : ok=2    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0   ",
                                "[lpfc] ",
                                "==> [lpfc] Deployment complete",
                                "[udev] changed: [instance]",
                                "[udev] ",
                                "[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention] *******",
                                "[udev] changed: [instance]",
                                "[udev] ",
                                "[udev] RUNNING HANDLER [vexxhost.atmosphere.udev : Reload udev] ***********************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[udev] ok: [instance]",
                                "[udev] ",
                                "[udev] PLAY RECAP *********************************************************************",
                                "[udev] instance                   : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   ",
                                "[udev] ",
                                "==> [udev] Deployment complete",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[ceph] ok: [instance] => {",
                                "[ceph]     \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "[ceph] }",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[ceph] ok: [instance] => {",
                                "[ceph]     \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "[ceph] }",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[multipathd] changed: [instance]",
                                "[multipathd] ",
                                "[multipathd] TASK [vexxhost.atmosphere.multipathd : Install the multipathd package] *********",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "[multipathd] changed: [instance]",
                                "[multipathd] ",
                                "[multipathd] TASK [vexxhost.atmosphere.multipathd : Install the configuration file] *********",
                                "[multipathd] changed: [instance]",
                                "[multipathd] ",
                                "[multipathd] RUNNING HANDLER [vexxhost.atmosphere.multipathd : Restart \"multipathd\"] ********",
                                "[multipathd] changed: [instance]",
                                "[multipathd] ",
                                "[multipathd] PLAY RECAP *********************************************************************",
                                "[multipathd] instance                   : ok=5    changed=4    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   ",
                                "[multipathd] ",
                                "==> [multipathd] Deployment complete",
                                "[iscsi] ",
                                "[iscsi] PLAY [controllers:computes] ****************************************************",
                                "[iscsi] ",
                                "[iscsi] TASK [Gathering Facts] *********************************************************",
                                "[iscsi] [WARNING]: Platform linux on host instance is using the discovered Python",
                                "[iscsi] interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "[iscsi] interpreter could change the meaning of that path. See",
                                "[iscsi] https://docs.ansible.com/ansible-",
                                "[iscsi] core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "[iscsi] ok: [instance]",
                                "[iscsi] ",
                                "[iscsi] TASK [vexxhost.atmosphere.iscsi : Install iscsi package] ***********************",
                                "[iscsi] ok: [instance]",
                                "[iscsi] ",
                                "[iscsi] TASK [vexxhost.atmosphere.iscsi : Ensure iscsid is started] ********************",
                                "[iscsi] changed: [instance]",
                                "[iscsi] ",
                                "[iscsi] PLAY RECAP *********************************************************************",
                                "[iscsi] instance                   : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   ",
                                "[iscsi] ",
                                "==> [iscsi] Deployment complete",
                                "[kubernetes] ",
                                "[kubernetes] PLAY [all] *********************************************************************",
                                "[kubernetes] ",
                                "[kubernetes] TASK [Gathering Facts] *********************************************************",
                                "[kubernetes] [WARNING]: Platform linux on host instance is using the discovered Python",
                                "[kubernetes] interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "[kubernetes] interpreter could change the meaning of that path. See",
                                "[kubernetes] https://docs.ansible.com/ansible-",
                                "[kubernetes] core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "[kubernetes] changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "[ceph] FAILED - RETRYING: [instance]: Install AppArmor packages (5 retries left).",
                                "[ceph] FAILED - RETRYING: [instance]: Install AppArmor packages (4 retries left).",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] PLAY [Configure Kubernetes VIP] ************************************************",
                                "[kubernetes] ",
                                "[kubernetes] TASK [Gathering Facts] *********************************************************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "[ceph] changed: [instance] => (item={'path': '/etc/containerd'})",
                                "[ceph] changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "[ceph] changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "[ceph] ",
                                "[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "[kubernetes] ok: [instance] => (item=/etc/keepalived/keepalived.conf)",
                                "[kubernetes] ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)",
                                "[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "[kubernetes] ok: [instance] => (item=/etc/haproxy/haproxy.cfg)",
                                "[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "[kubernetes] 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}",
                                "[kubernetes] 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}",
                                "[kubernetes] 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}",
                                "[kubernetes] ...ignoring",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "[ceph] ok: [instance] => {",
                                "[ceph]     \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "[ceph] }",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "[kubernetes] ",
                                "[kubernetes] PLAY [Install Kubernetes] ******************************************************",
                                "[kubernetes] ",
                                "[kubernetes] TASK [Gathering Facts] *********************************************************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "[ceph] changed: [instance] => (item={'path': '/etc/docker'})",
                                "[ceph] changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "[ceph] changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "[ceph] ",
                                "[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "[kubernetes] An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible_collections.kubernetes.core.plugins.module_utils.k8s.exceptions.CoreException: Could not create API client: Invalid kube-config file. No configuration found.",
                                "[kubernetes] fatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}",
                                "[kubernetes] ...ignoring",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[ceph] ok: [instance] => (item=chronyd)",
                                "[ceph] ok: [instance] => (item=sshd)",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "[ceph] skipping: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "[ceph] ok: [instance] => (item=instance)",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "[ceph] ok: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[ceph] changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})",
                                "[ceph] changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})",
                                "[ceph] changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "[kubernetes] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "[kubernetes] changed: [instance] => (item=br_netfilter)",
                                "[kubernetes] ok: [instance] => (item=ip_tables)",
                                "[kubernetes] changed: [instance] => (item=ip6_tables)",
                                "[kubernetes] ok: [instance] => (item=nf_conntrack)",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "[kubernetes] ok: [instance] => {",
                                "[kubernetes]     \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "[kubernetes] }",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "[kubernetes] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})",
                                "[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})",
                                "[kubernetes] changed: [instance] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})",
                                "[kubernetes] changed: [instance] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})",
                                "[kubernetes] changed: [instance] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***",
                                "[kubernetes] changed: [instance] => (item=/etc/systemd/system/kubelet.service.d)",
                                "[kubernetes] ok: [instance] => (item=/etc/kubernetes)",
                                "[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests)",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "[kubernetes] skipping: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "[kubernetes] ok: [instance] => (item=swap)",
                                "[kubernetes] ok: [instance] => (item=none)",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "[kubernetes] changed: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "[kubernetes] ",
                                "[kubernetes] RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "[kubernetes] ok: [instance]",
                                "[kubernetes] ",
                                "[kubernetes] TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "[ceph] fatal: [instance]: FAILED! => {\"changed\": false, \"cmd\": [\"cephadm\", \"bootstrap\", \"--fsid\", \"4837cbf8-4f90-4300-b3f6-726c9b9f89b4\", \"--mon-ip\", \"10.96.240.200\", \"--cluster-network\", \"10.96.240.0/24\", \"--ssh-user\", \"cephadm\", \"--config\", \"/tmp/ceph_acrjkef0.conf\", \"--skip-monitoring-stack\"], \"delta\": \"0:00:43.285827\", \"end\": \"2026-04-23 16:30:31.335314\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-23 16:29:48.049487\", \"stderr\": \"Specifying an fsid for your cluster offers no advantages and may increase the likelihood of fsid conflicts.\\nRuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\\n\\nTraceback (most recent call last):\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 196, in _run_module_as_main\\n    return _run_code(code, main_globals, None,\\n  File \\\"/usr/lib/python3.10/runpy.py\\\", line 86, in _run_code\\n    exec(code, run_globals)\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 11009, in <module>\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 10997, in main\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6395, in _rollback\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2643, in _default_image\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6566, in command_bootstrap\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6250, in finish_bootstrap_config\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6556, in cli\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 4895, in run\\n  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2283, in call_throws\\nRuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\", \"stderr_lines\": [\"Specifying an fsid for your cluster offers no advantages and may increase the likelihood of fsid conflicts.\", \"RuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\", \"\", \"Traceback (most recent call last):\", \"  File \\\"/usr/lib/python3.10/runpy.py\\\", line 196, in _run_module_as_main\", \"    return _run_code(code, main_globals, None,\", \"  File \\\"/usr/lib/python3.10/runpy.py\\\", line 86, in _run_code\", \"    exec(code, run_globals)\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 11009, in <module>\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 10997, in main\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6395, in _rollback\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2643, in _default_image\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6566, in command_bootstrap\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6250, in finish_bootstrap_config\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 6556, in cli\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 4895, in run\", \"  File \\\"/usr/bin/cephadm/__main__.py\\\", line 2283, in call_throws\", \"RuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\"], \"stdout\": \"Creating directory /etc/ceph for ceph.conf\\nVerifying ssh connectivity using standard pubkey authentication ...\\nAdding key to cephadm@localhost authorized_keys...\\nVerifying podman|docker is present...\\nVerifying lvm2 is present...\\nVerifying time synchronization is in place...\\nUnit chrony.service is enabled and running\\nRepeating the final host check...\\ndocker (/usr/bin/docker) is present\\nsystemctl is present\\nlvcreate is present\\nUnit chrony.service is enabled and running\\nHost looks OK\\nCluster fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\\nVerifying IP 10.96.240.200 port 3300 ...\\nVerifying IP 10.96.240.200 port 6789 ...\\nMon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\\nMon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\\nPulling container image quay.io/ceph/ceph:v18.2.7...\\nCeph version: ceph version 18.2.7 (6b0e988052ec84cf2d4a54ff9bbbc5e720b621ad) reef (stable)\\nExtracting ceph user uid/gid from container image...\\nCreating initial keys...\\nCreating initial monmap...\\nCreating mon...\\nWaiting for mon to start...\\nWaiting for mon...\\nmon is available\\nAssimilating anything we can from ceph.conf...\\nGenerating new minimal ceph.conf...\\nRestarting the monitor...\\nSetting public_network to 10.96.240.0/24 in global config section\\nSetting cluster_network to 10.96.240.0/24\\nNon-zero exit code 125 from /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24\\n/usr/bin/ceph: stderr docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\\n\\n\\n\\t***************\\n\\tCephadm hit an issue during cluster installation. Current cluster files will NOT BE DELETED automatically to change\\n\\tthis behaviour you can pass the --cleanup-on-failure. To remove this broken cluster manually please run:\\n\\n\\t   > cephadm rm-cluster --force --fsid 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\\n\\n\\tin case of any previous broken installation user must use the rm-cluster command to delete the broken cluster:\\n\\n\\t   > cephadm rm-cluster --force --zap-osds --fsid <fsid>\\n\\n\\tfor more information please refer to https://docs.ceph.com/en/latest/cephadm/operations/#purging-a-cluster\\n\\t***************\", \"stdout_lines\": [\"Creating directory /etc/ceph for ceph.conf\", \"Verifying ssh connectivity using standard pubkey authentication ...\", \"Adding key to cephadm@localhost authorized_keys...\", \"Verifying podman|docker is present...\", \"Verifying lvm2 is present...\", \"Verifying time synchronization is in place...\", \"Unit chrony.service is enabled and running\", \"Repeating the final host check...\", \"docker (/usr/bin/docker) is present\", \"systemctl is present\", \"lvcreate is present\", \"Unit chrony.service is enabled and running\", \"Host looks OK\", \"Cluster fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\", \"Verifying IP 10.96.240.200 port 3300 ...\", \"Verifying IP 10.96.240.200 port 6789 ...\", \"Mon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\", \"Mon IP `10.96.240.200` is in CIDR network `10.96.240.0/24`\", \"Pulling container image quay.io/ceph/ceph:v18.2.7...\", \"Ceph version: ceph version 18.2.7 (6b0e988052ec84cf2d4a54ff9bbbc5e720b621ad) reef (stable)\", \"Extracting ceph user uid/gid from container image...\", \"Creating initial keys...\", \"Creating initial monmap...\", \"Creating mon...\", \"Waiting for mon to start...\", \"Waiting for mon...\", \"mon is available\", \"Assimilating anything we can from ceph.conf...\", \"Generating new minimal ceph.conf...\", \"Restarting the monitor...\", \"Setting public_network to 10.96.240.0/24 in global config section\", \"Setting cluster_network to 10.96.240.0/24\", \"Non-zero exit code 125 from /usr/bin/docker run --rm --ipc=host --stop-signal=SIGTERM --ulimit nofile=1048576 --net=host --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v18.2.7 -e NODE_NAME=instance -v /var/log/ceph/4837cbf8-4f90-4300-b3f6-726c9b9f89b4:/var/log/ceph:z -v /tmp/ceph-tmpzgo800tb:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmp8rbfn165:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v18.2.7 config set global cluster_network 10.96.240.0/24\", \"/usr/bin/ceph: stderr docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit \\\"docker-db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e.scope\\\" (properties [{Name:Description Value:\\\"libcontainer container db6638e37c0319b83b35e3bb16ec074837a1323073de4b2de24305179f02640e\\\"} {Name:Slice Value:\\\"system.slice\\\"} {Name:Delegate Value:true} {Name:PIDs Value:@au [27802]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Message recipient disconnected from message bus without replying: unknown.\", \"\", \"\", \"\\t***************\", \"\\tCephadm hit an issue during cluster installation. Current cluster files will NOT BE DELETED automatically to change\", \"\\tthis behaviour you can pass the --cleanup-on-failure. To remove this broken cluster manually please run:\", \"\", \"\\t   > cephadm rm-cluster --force --fsid 4837cbf8-4f90-4300-b3f6-726c9b9f89b4\", \"\", \"\\tin case of any previous broken installation user must use the rm-cluster command to delete the broken cluster:\", \"\", \"\\t   > cephadm rm-cluster --force --zap-osds --fsid <fsid>\", \"\", \"\\tfor more information please refer to https://docs.ceph.com/en/latest/cephadm/operations/#purging-a-cluster\", \"\\t***************\"]}",
                                "[ceph] ",
                                "[ceph] TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "[ceph] changed: [instance]",
                                "[ceph] ",
                                "[ceph] PLAY RECAP *********************************************************************",
                                "[ceph] instance                   : ok=48   changed=26   unreachable=0    failed=1    skipped=14   rescued=0    ignored=0   ",
                                "[ceph] ",
                                "Error: component ceph failed: ansible-playbook failed for ceph: exit status 2",
                                "Usage:",
                                "  atmosphere deploy [flags]",
                                "",
                                "Flags:",
                                "      --concurrency int    Max concurrent deployments per wave (0 = unlimited)",
                                "  -h, --help               help for deploy",
                                "  -i, --inventory string   Path to Ansible inventory file (required)",
                                "  -t, --tags string        Comma-separated list of component tags to deploy",
                                "",
                                "component ceph failed: ansible-playbook failed for ceph: exit status 2"
                            ],
                            "zuul_log_id": "0242ac17-0011-97f4-5d58-000000000005-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:32.110933Z",
                            "start": "2026-04-23T16:28:37.401621Z"
                        },
                        "id": "0242ac17-0011-97f4-5d58-000000000005",
                        "name": "Deploy with parallel orchestrator"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 0,
            "failures": 1,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:30:43.659535Z",
                    "start": "2026-04-23T16:30:32.950666Z"
                },
                "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:33.317613Z",
                            "start": "2026-04-23T16:30:32.966267Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.090712",
                            "end": "2026-04-23 16:30:33.751594",
                            "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-c47d-aafb-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:33.660882",
                            "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-c47d-aafb-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:33.863447Z",
                            "start": "2026-04-23T16:30:33.343040Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.19.213.20:/tmp/logs/system /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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-c47d-aafb-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:34.496360Z",
                            "start": "2026-04-23T16:30:33.869503Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:34.870949Z",
                            "start": "2026-04-23T16:30:34.505522Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.065148",
                            "end": "2026-04-23 16:30:35.176065",
                            "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-c47d-aafb-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:35.110917",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0423 16:30:35.165228   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:35.166083   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:35.167872   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:35.168523   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:35.170406   28028 memcache.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": [
                                "E0423 16:30:35.165228   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:35.166083   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:35.167872   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:35.168523   28028 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:35.170406   28028 memcache.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-c47d-aafb-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:35.421857Z",
                            "start": "2026-04-23T16:30:34.904335Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.19.213.20:/tmp/logs/helm /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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-c47d-aafb-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:35.913312Z",
                            "start": "2026-04-23T16:30:35.428244Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:36.162702Z",
                            "start": "2026-04-23T16:30:35.927262Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.198861",
                            "end": "2026-04-23 16:30:36.581832",
                            "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-c47d-aafb-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:36.382971",
                            "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\nE0423 16:30:36.442296   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.443417   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.443910   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.445812   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.446382   28080 memcache.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\nE0423 16:30:36.457785   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.458803   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.459613   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.461294   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.461824   28088 memcache.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\nE0423 16:30:36.506564   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.506935   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.508399   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.509378   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.510882   28121 memcache.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\nE0423 16:30:36.523271   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.524828   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.525443   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.527109   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.527504   28129 memcache.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?\nE0423 16:30:36.571454   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.572277   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.574268   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.574995   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:36.576618   28157 memcache.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",
                                "E0423 16:30:36.442296   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.443417   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.443910   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.445812   28080 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.446382   28080 memcache.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",
                                "E0423 16:30:36.457785   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.458803   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.459613   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.461294   28088 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.461824   28088 memcache.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",
                                "E0423 16:30:36.506564   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.506935   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.508399   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.509378   28121 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.510882   28121 memcache.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",
                                "E0423 16:30:36.523271   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.524828   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.525443   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.527109   28129 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.527504   28129 memcache.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?",
                                "E0423 16:30:36.571454   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.572277   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.574268   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.574995   28157 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:36.576618   28157 memcache.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-c47d-aafb-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:36.707738Z",
                            "start": "2026-04-23T16:30:36.186479Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:36.920595Z",
                            "start": "2026-04-23T16:30:36.714561Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.068570",
                            "end": "2026-04-23 16:30:37.198246",
                            "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-c47d-aafb-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:37.129676",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nE0423 16:30:37.184870   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:37.185689   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:37.189023   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:37.190231   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:37.191055   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "E0423 16:30:37.184870   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:37.185689   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:37.189023   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:37.190231   28195 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:37.191055   28195 memcache.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-c47d-aafb-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:37.468620Z",
                            "start": "2026-04-23T16:30:36.947939Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.19.213.20:/tmp/logs/objects /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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-c47d-aafb-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:37.974907Z",
                            "start": "2026-04-23T16:30:37.475257Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:38.184915Z",
                            "start": "2026-04-23T16:30:37.984664Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:38.413893Z",
                            "start": "2026-04-23T16:30:38.194508Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.066862",
                            "end": "2026-04-23 16:30:38.692999",
                            "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-c47d-aafb-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:38.626137",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0423 16:30:38.682331   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:38.683151   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:38.685010   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:38.685464   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:38.686818   28249 memcache.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": [
                                "E0423 16:30:38.682331   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:38.683151   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:38.685010   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:38.685464   28249 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:38.686818   28249 memcache.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-c47d-aafb-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:38.961845Z",
                            "start": "2026-04-23T16:30:38.441717Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.19.213.20:/tmp/logs/pod-logs /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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-c47d-aafb-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:39.476758Z",
                            "start": "2026-04-23T16:30:38.966542Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:39.687653Z",
                            "start": "2026-04-23T16:30:39.488750Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.064071",
                            "end": "2026-04-23 16:30:39.970414",
                            "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-c47d-aafb-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:39.906343",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0423 16:30:39.961093   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:39.962010   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:39.963157   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:39.963784   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:39.965309   28295 memcache.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": [
                                "E0423 16:30:39.961093   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:39.962010   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:39.963157   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:39.963784   28295 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:39.965309   28295 memcache.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-c47d-aafb-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:40.228607Z",
                            "start": "2026-04-23T16:30:39.714000Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.069064",
                            "end": "2026-04-23 16:30:40.507421",
                            "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-c47d-aafb-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:40.438357",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0423 16:30:40.496102   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:40.497005   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:40.498930   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:40.499518   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:40.501702   28321 memcache.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": [
                                "E0423 16:30:40.496102   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:40.497005   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:40.498930   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:40.499518   28321 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:40.501702   28321 memcache.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-c47d-aafb-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:40.770203Z",
                            "start": "2026-04-23T16:30:40.253265Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.059443",
                            "end": "2026-04-23 16:30:41.043325",
                            "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-c47d-aafb-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-23 16:30:40.983882",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0423 16:30:41.033532   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:41.034311   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:41.035841   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:41.036476   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0423 16:30:41.038349   28349 memcache.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": [
                                "E0423 16:30:41.033532   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:41.034311   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:41.035841   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:41.036476   28349 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0423 16:30:41.038349   28349 memcache.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-c47d-aafb-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:41.320773Z",
                            "start": "2026-04-23T16:30:40.799282Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.19.213.20:/tmp/logs/prometheus /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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-c47d-aafb-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:41.815594Z",
                            "start": "2026-04-23T16:30:41.326488Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-c47d-aafb-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:42.086178Z",
                            "start": "2026-04-23T16:30:41.827121Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.005592",
                            "end": "2026-04-23 16:30:42.295156",
                            "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-c47d-aafb-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-23 16:30:42.289564",
                            "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-c47d-aafb-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c47d-aafb-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:42.632361Z",
                            "start": "2026-04-23T16:30:42.113267Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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.19.213.20:/tmp/logs/selenium /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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-c47d-aafb-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:43.659535Z",
                            "start": "2026-04-23T16:30:42.637502Z"
                        },
                        "id": "0242ac17-0011-c47d-aafb-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-23T16:30:48.138241Z",
                    "start": "2026-04-23T16:30:44.525842Z"
                },
                "id": "0242ac17-0011-6ce5-bac7-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-6ce5-bac7-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:44.593861Z",
                            "start": "2026-04-23T16:30:44.538059Z"
                        },
                        "id": "0242ac17-0011-6ce5-bac7-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6ce5-bac7-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:44.651223Z",
                            "start": "2026-04-23T16:30:44.605396Z"
                        },
                        "id": "0242ac17-0011-6ce5-bac7-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/4443a534d0224a25859b36e43392f9eb/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6ce5-bac7-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:45.610377Z",
                            "start": "2026-04-23T16:30:44.658069Z"
                        },
                        "id": "0242ac17-0011-6ce5-bac7-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.19.213.20:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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.19.213.20:/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/4443a534d0224a25859b36e43392f9eb/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6ce5-bac7-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:47.219766Z",
                            "start": "2026-04-23T16:30:45.620084Z"
                        },
                        "id": "0242ac17-0011-6ce5-bac7-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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/artifacts/* /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007590",
                                    "end": "2026-04-23 16:30:47.838847",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/artifacts/* /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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-23 16:30:47.831257",
                                    "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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/docs/* /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006695",
                                    "end": "2026-04-23 16:30:48.092487",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/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/4443a534d0224a25859b36e43392f9eb/work/docs/* /var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/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-23 16:30:48.085792",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-6ce5-bac7-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:48.138241Z",
                            "start": "2026-04-23T16:30:47.236452Z"
                        },
                        "id": "0242ac17-0011-6ce5-bac7-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-23T16:30:48.579373Z",
                    "start": "2026-04-23T16:30:48.148769Z"
                },
                "id": "0242ac17-0011-6ce5-bac7-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDatN2vePETTCzEU/X6vdcrUyQpDisnhzGrQk5sp844MMC6O9A5sgE6LxHz/EHYYzypuJJ2nz1gj+egtPhuak8fbGrnPU+ly/mU57I5IOWf2ppMPVHXolfNUzPPRiOKJA8sW7HLOLIWG82yzPcpq16AVHtc9+ra7DZ7Jy4lTrTwaSVf4uxnm65/yo4oaI8M1MnGp62/QD0NPVQth+LMdb6THiXGYLUctJ7UQO6rdLzqZXXYAzhrlDD+f+kjrhSsbIC41dBjuGk/phwEB8rWm5xlaRZQ7FMNQQJDV3zhtaMypNtSB+I0URO4nlhkD4qpWwFQMCfm3rZeNGiW20ERj/akMfuUNflqx8hZY60A8xrZeR8p6gL7ZFpn1gzjMY0oxCBcCmpDZwkjVZAthpbDgIB+wtHeRbEgHLvBOOlk/L2z+G79TIJYkf3KxupSogAwNCBVCaZ3GtRHl+PEYrrEPph+SspWS7RAO8jSRJ0nTcLYsxMCAJOurDeTbGnidGRfL3E= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDatN2vePETTCzEU/X6vdcrUyQpDisnhzGrQk5sp844MMC6O9A5sgE6LxHz/EHYYzypuJJ2nz1gj+egtPhuak8fbGrnPU+ly/mU57I5IOWf2ppMPVHXolfNUzPPRiOKJA8sW7HLOLIWG82yzPcpq16AVHtc9+ra7DZ7Jy4lTrTwaSVf4uxnm65/yo4oaI8M1MnGp62/QD0NPVQth+LMdb6THiXGYLUctJ7UQO6rdLzqZXXYAzhrlDD+f+kjrhSsbIC41dBjuGk/phwEB8rWm5xlaRZQ7FMNQQJDV3zhtaMypNtSB+I0URO4nlhkD4qpWwFQMCfm3rZeNGiW20ERj/akMfuUNflqx8hZY60A8xrZeR8p6gL7ZFpn1gzjMY0oxCBcCmpDZwkjVZAthpbDgIB+wtHeRbEgHLvBOOlk/L2z+G79TIJYkf3KxupSogAwNCBVCaZ3GtRHl+PEYrrEPph+SspWS7RAO8jSRJ0nTcLYsxMCAJOurDeTbGnidGRfL3E= 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-6ce5-bac7-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/4443a534d0224a25859b36e43392f9eb/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-23T16:30:48.579373Z",
                            "start": "2026-04-23T16:30:48.157414Z"
                        },
                        "id": "0242ac17-0011-6ce5-bac7-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
}
]
