[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-07T08:59:19.548932Z",
                    "start": "2026-04-07T08:59:16.961688Z"
                },
                "id": "0242ac17-0011-9a0c-c34d-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-07",
                                    "day": "07",
                                    "epoch": "1775552357",
                                    "epoch_int": "1775552357",
                                    "hour": "08",
                                    "iso8601": "2026-04-07T08:59:17Z",
                                    "iso8601_basic": "20260407T085917540782",
                                    "iso8601_basic_short": "20260407T085917",
                                    "iso8601_micro": "2026-04-07T08:59:17.540782Z",
                                    "minute": "59",
                                    "month": "04",
                                    "second": "17",
                                    "time": "08:59:17",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Tuesday",
                                    "weekday_number": "2",
                                    "weeknumber": "14",
                                    "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/5d9a0027f08843d5a7d946c5aaa0fefd/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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": "1867786",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-JwjQTnd0gunU/agent.1867784",
                                    "TMP": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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": 2.0673828125,
                                    "1m": 2.84228515625,
                                    "5m": 2.2314453125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 11059,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 18280,
                                        "used": 13810
                                    },
                                    "real": {
                                        "free": 11059,
                                        "total": 32090,
                                        "used": 21031
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 200816320,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 63124397,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 60372920,
                                        "inode_total": 67108864,
                                        "inode_used": 6735944,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 822543646720,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 9413326,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31188254,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16732299,
                                        "inode_total": 20643840,
                                        "inode_used": 3911541,
                                        "mount": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 38556983296,
                                        "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": 39216087,
                                "ansible_user_dir": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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-07T08:59:17.857233Z",
                            "start": "2026-04-07T08:59:16.968857Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:17.890375Z",
                            "start": "2026-04-07T08:59:17.864019Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "5d9/oss/5d9a0027f08843d5a7d946c5aaa0fefd"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:17.934729Z",
                            "start": "2026-04-07T08:59:17.903129Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-ovn\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3809\nEvent ID: f203c010-325f-11f1-8ab8-427e3704333c\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:17.988310Z",
                            "start": "2026-04-07T08:59:17.944173Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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: np0000163898\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy-16\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.157\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:18.099286Z",
                            "start": "2026-04-07T08:59:17.991932Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:18.518527Z",
                            "start": "2026-04-07T08:59:18.111276Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "41f0440881a24885b80c87f2f3379bd5b8b6b10f",
                            "dest": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "41f0440881a24885b80c87f2f3379bd5b8b6b10f",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/.ansible/tmp/ansible-tmp-1775552358.5573077-84-133746602438871/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "120371b3207d78b9b91e1ed0f7732a63",
                            "mode": "0644",
                            "owner": "root",
                            "size": 30067,
                            "src": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/.ansible/tmp/ansible-tmp-1775552358.5573077-84-133746602438871/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:19.548932Z",
                            "start": "2026-04-07T08:59:18.525580Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-07T08:59:26.895660Z",
                    "start": "2026-04-07T08:59:19.556429Z"
                },
                "id": "0242ac17-0011-9a0c-c34d-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/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:19.806604Z",
                            "start": "2026-04-07T08:59:19.567243Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:19.851310Z",
                            "start": "2026-04-07T08:59:19.816013Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.698179",
                            "end": "2026-04-07 08:59:20.917387",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_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-9a0c-c34d-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 08:59:20.219208",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa.pub\nThe key fingerprint is:\nSHA256:MYZbBwgBSe+AYu6DGPrWSdY2/9F4I6TAyobGapuji5U zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n| .oooo ..        |\n| ...  .. .       |\n|o.. . . = .      |\n|+  o . + +       |\n|..  ..+ S .      |\n|=o +o.+. o o     |\n|+oE++o o. + +    |\n|.B+.o   .  + .   |\n|B=+      ..      |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:MYZbBwgBSe+AYu6DGPrWSdY2/9F4I6TAyobGapuji5U zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "| .oooo ..        |",
                                "| ...  .. .       |",
                                "|o.. . . = .      |",
                                "|+  o . + +       |",
                                "|..  ..+ S .      |",
                                "|=o +o.+. o o     |",
                                "|+oE++o o. + +    |",
                                "|.B+.o   .  + .   |",
                                "|B=+      ..      |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-9a0c-c34d-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:20.963661Z",
                            "start": "2026-04-07T08:59:19.872456Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:21.010362Z",
                            "start": "2026-04-07T08:59:20.970902Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:21.059890Z",
                            "start": "2026-04-07T08:59:21.033776Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCR6jGo2yr4HsTUuQU/2XdkqD7JSK9thbFqME6KTvHd66gRShnJ94NBzpYJGFZmQBJ21rGCEM5tUcEiShozmPnDU1FOuUnRoyDwQknD+FA5bhCOZ1qRW1Pc27hcefT72JDwXxGLauc4vWk+oR7DnMKFyc3KpCG/z1dR0cEvQm50asrc2S1gK3qDFgR8Qn/A1BgQaiQhlDepFJAkwoVsxoK7aEFcuaEdkq3XYsrm2JY5+ZnssCT0H/NzeJyj5Hcc5NXDnOwhss16L1ww+QUnQjVYRf2DpoheX+fZoNLQ3fuQ5Br3ESUaCQgh7S9+By9z0fRwLWiPafy+aLZB+ciy3KOY6m3ikfVwLGmRBeiLYByk6b9E5jg0di1AoZ59SKpQcuqDe6smBNhPhmMlSEjdtQfZXfWh2e47cGjT+iOG1m5uAuURZb1sRLBdL54k6UZNRX0+a33V3/gRxm90GCQqLeSEGC/XsOIsj9F5ZS7+xeha9Hir0WyqEgrFjJ3ueEBs3b8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCR6jGo2yr4HsTUuQU/2XdkqD7JSK9thbFqME6KTvHd66gRShnJ94NBzpYJGFZmQBJ21rGCEM5tUcEiShozmPnDU1FOuUnRoyDwQknD+FA5bhCOZ1qRW1Pc27hcefT72JDwXxGLauc4vWk+oR7DnMKFyc3KpCG/z1dR0cEvQm50asrc2S1gK3qDFgR8Qn/A1BgQaiQhlDepFJAkwoVsxoK7aEFcuaEdkq3XYsrm2JY5+ZnssCT0H/NzeJyj5Hcc5NXDnOwhss16L1ww+QUnQjVYRf2DpoheX+fZoNLQ3fuQ5Br3ESUaCQgh7S9+By9z0fRwLWiPafy+aLZB+ciy3KOY6m3ikfVwLGmRBeiLYByk6b9E5jg0di1AoZ59SKpQcuqDe6smBNhPhmMlSEjdtQfZXfWh2e47cGjT+iOG1m5uAuURZb1sRLBdL54k6UZNRX0+a33V3/gRxm90GCQqLeSEGC/XsOIsj9F5ZS7+xeha9Hir0WyqEgrFjJ3ueEBs3b8= 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-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:21.519878Z",
                            "start": "2026-04-07T08:59:21.071199Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:21.720463Z",
                            "start": "2026-04-07T08:59:21.525008Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "1362b8c93e9a91ce5de726fb79dc064059f3ba7e",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "1362b8c93e9a91ce5de726fb79dc064059f3ba7e",
                                    "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-1775552361.7945476-190-192833399715812/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "c4a2ca6cf0acc8421ed003cf685d3deb",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1775552361.7945476-190-192833399715812/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:22.227152Z",
                            "start": "2026-04-07T08:59:21.725430Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "523d82c6c28aa3cf08229e2c2d373e716c2c9205",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "523d82c6c28aa3cf08229e2c2d373e716c2c9205",
                                    "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-1775552362.2896578-200-169892597633987/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "81311789bc6fc56324701f7574a587f6",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1775552362.2896578-200-169892597633987/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:22.709039Z",
                            "start": "2026-04-07T08:59:22.233097Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:22.739281Z",
                            "start": "2026-04-07T08:59:22.714035Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:23.155809Z",
                            "start": "2026-04-07T08:59:22.749461Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa"
                            ],
                            "delta": "0:00:00.012724",
                            "end": "2026-04-07 08:59:23.482047",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_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-9a0c-c34d-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 08:59:23.469323",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/5d9a0027f08843d5a7d946c5aaa0fefd_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-9a0c-c34d-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:23.536120Z",
                            "start": "2026-04-07T08:59:23.217829Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:23.797434Z",
                            "start": "2026-04-07T08:59:23.540979Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:23.827665Z",
                            "start": "2026-04-07T08:59:23.802150Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:24.118758Z",
                            "start": "2026-04-07T08:59:23.843113Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:25.765432Z",
                            "start": "2026-04-07T08:59:24.124614Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:26.324386Z",
                            "start": "2026-04-07T08:59:25.774812Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-9a0c-c34d-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:26.895660Z",
                            "start": "2026-04-07T08:59:26.334490Z"
                        },
                        "id": "0242ac17-0011-9a0c-c34d-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-07T08:59:30.465012Z",
                    "start": "2026-04-07T08:59:27.748839Z"
                },
                "id": "0242ac17-0011-8e92-308d-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-1775552367.7982125-5-267815343927965/uv-x86_64-unknown-linux-gnutd23x1_a.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-1775552367.7982125-5-267815343927965/uv-x86_64-unknown-linux-gnutd23x1_a.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-8e92-308d-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:29.920352Z",
                            "start": "2026-04-07T08:59:27.761340Z"
                        },
                        "id": "0242ac17-0011-8e92-308d-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.010674",
                            "end": "2026-04-07 08:59:29.542744",
                            "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-8e92-308d-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 08:59:29.532070",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-8e92-308d-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-8e92-308d-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:30.465012Z",
                            "start": "2026-04-07T08:59:29.945927Z"
                        },
                        "id": "0242ac17-0011-8e92-308d-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-07T08:59:42.096642Z",
                    "start": "2026-04-07T08:59:31.300857Z"
                },
                "id": "0242ac17-0011-daf1-0af3-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1775552377,
                            "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 357 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]\nFetched 357 kB in 1s (492 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 ... 30906 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.1) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSetting up jq (1.6-2.1ubuntu3.1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 357 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]",
                                "Fetched 357 kB in 1s (492 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 ... 30906 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.1) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Setting up jq (1.6-2.1ubuntu3.1) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:42.096642Z",
                            "start": "2026-04-07T08:59:31.318071Z"
                        },
                        "id": "0242ac17-0011-daf1-0af3-000000000004",
                        "name": "Install \"jq\" for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-07T09:15:01.610431Z",
                    "start": "2026-04-07T08:59:42.779646Z"
                },
                "id": "0242ac17-0011-b798-de48-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "41f0440881a24885b80c87f2f3379bd5b8b6b10f",
                            "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": "41f0440881a24885b80c87f2f3379bd5b8b6b10f",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1775552382.8321207-5-164637803112890/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "120371b3207d78b9b91e1ed0f7732a63",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 30067,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1775552382.8321207-5-164637803112890/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:43.624214Z",
                            "start": "2026-04-07T08:59:42.792806Z"
                        },
                        "id": "0242ac17-0011-b798-de48-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T08:59:43.934018Z",
                            "start": "2026-04-07T08:59:43.628881Z"
                        },
                        "id": "0242ac17-0011-b798-de48-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "aio"
                            ],
                            "delta": "0:15:17.134649",
                            "end": "2026-04-07 09:15:01.426841",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -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-b798-de48-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-04-07 08:59:44.292192",
                            "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 netaddr (2.2MiB)\nDownloading cryptography (4.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading kubernetes (1.9MiB)\nDownloading pygments (1.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading setuptools (1.1MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading pydantic-core\n Downloading netaddr\n Downloading pygments\n Downloading cryptography\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 40ms\nWARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [aio > prerun] Performing prerun with role_name_check=0...\nINFO     [aio > dependency] Executing\nWARNING  [aio > dependency] Missing roles requirements file: requirements.yml\nWARNING  [aio > dependency] Missing collections requirements file: collections.yml\nWARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [aio > cleanup] Executing\nWARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > destroy] Executing\nWARNING  [aio > destroy] Skipping, '--destroy=never' requested.\nINFO     [aio > destroy] Executed: Successful\nINFO     [aio > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nINFO     [aio > syntax] Executed: Successful\nINFO     [aio > create] Executing\nWARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:01:34 +0000 (0:00:00.040)       0:00:00.040 *********\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nTuesday 07 April 2026  09:01:35 +0000 (0:00:01.016)       0:00:01.056 *********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nTuesday 07 April 2026  09:01:36 +0000 (0:00:00.785)       0:00:01.842 *********\nchanged: [instance]\n\nTASK [Install \"dirmngr\" for GPG keyserver operations] **************************\nTuesday 07 April 2026  09:01:36 +0000 (0:00:00.370)       0:00:02.212 *********\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nTuesday 07 April 2026  09:01:38 +0000 (0:00:01.686)       0:00:03.899 *********\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nTuesday 07 April 2026  09:01:39 +0000 (0:00:01.168)       0:00:05.067 *********\nok: [localhost] => (item=group_vars)\nok: [localhost] => (item=group_vars/all)\nchanged: [localhost] => (item=group_vars/controllers)\nchanged: [localhost] => (item=group_vars/cephs)\nchanged: [localhost] => (item=group_vars/computes)\nok: [localhost] => (item=host_vars)\n\nPLAY [Generate Ceph control plane configuration for workspace] *****************\n\nTASK [Ensure the Ceph control plane configuration file exists] *****************\nTuesday 07 April 2026  09:01:41 +0000 (0:00:01.333)       0:00:06.400 *********\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nTuesday 07 April 2026  09:01:41 +0000 (0:00:00.238)       0:00:06.639 *********\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nTuesday 07 April 2026  09:01:41 +0000 (0:00:00.067)       0:00:06.707 *********\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': '8a0b2ddb-7ac2-5026-b728-6ec591a3e629'})\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] *****************\nTuesday 07 April 2026  09:01:41 +0000 (0:00:00.074)       0:00:06.781 *********\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nTuesday 07 April 2026  09:01:42 +0000 (0:00:00.635)       0:00:07.417 *********\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nTuesday 07 April 2026  09:01:42 +0000 (0:00:00.250)       0:00:07.667 *********\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nTuesday 07 April 2026  09:01:42 +0000 (0:00:00.034)       0:00:07.702 *********\nok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})\n\nTASK [Write new Ceph OSDs configuration file to disk] **************************\nTuesday 07 April 2026  09:01:42 +0000 (0:00:00.037)       0:00:07.740 *********\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nTuesday 07 April 2026  09:01:42 +0000 (0:00:00.379)       0:00:08.119 *********\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.204)       0:00:08.323 *********\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.033)       0:00:08.356 *********\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] *************************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.042)       0:00:08.399 *********\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.373)       0:00:08.773 *********\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.203)       0:00:08.977 *********\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.028)       0:00:09.005 *********\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] *************************\nTuesday 07 April 2026  09:01:43 +0000 (0:00:00.032)       0:00:09.038 *********\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:01:44 +0000 (0:00:00.379)       0:00:09.418 *********\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nTuesday 07 April 2026  09:01:44 +0000 (0:00:00.728)       0:00:10.146 *********\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nTuesday 07 April 2026  09:01:45 +0000 (0:00:00.213)       0:00:10.360 *********\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nTuesday 07 April 2026  09:01:45 +0000 (0:00:00.037)       0:00:10.398 *********\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] ****************************************\nTuesday 07 April 2026  09:01:45 +0000 (0:00:00.836)       0:00:11.235 *********\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nTuesday 07 April 2026  09:01:46 +0000 (0:00:00.382)       0:00:11.617 *********\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nTuesday 07 April 2026  09:01:46 +0000 (0:00:00.230)       0:00:11.848 *********\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nTuesday 07 April 2026  09:01:46 +0000 (0:00:00.224)       0:00:12.073 *********\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nTuesday 07 April 2026  09:01:46 +0000 (0:00:00.040)       0:00:12.113 *********\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] ****************************\nTuesday 07 April 2026  09:01:46 +0000 (0:00:00.043)       0:00:12.157 *********\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nTuesday 07 April 2026  09:01:47 +0000 (0:00:00.397)       0:00:12.554 *********\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nTuesday 07 April 2026  09:01:47 +0000 (0:00:00.229)       0:00:12.783 *********\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nTuesday 07 April 2026  09:01:47 +0000 (0:00:00.042)       0:00:12.826 *********\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] *******************************\nTuesday 07 April 2026  09:01:47 +0000 (0:00:00.046)       0:00:12.872 *********\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nTuesday 07 April 2026  09:01:48 +0000 (0:00:00.380)       0:00:13.253 *********\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nTuesday 07 April 2026  09:01:48 +0000 (0:00:00.214)       0:00:13.467 *********\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nTuesday 07 April 2026  09:01:48 +0000 (0:00:00.041)       0:00:13.509 *********\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] *****************************************\nTuesday 07 April 2026  09:01:48 +0000 (0:00:00.427)       0:00:13.936 *********\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nTuesday 07 April 2026  09:01:48 +0000 (0:00:00.067)       0:00:14.004 *********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nTuesday 07 April 2026  09:01:49 +0000 (0:00:00.720)       0:00:14.725 *********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nTuesday 07 April 2026  09:01:52 +0000 (0:00:03.181)       0:00:17.907 *********\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nTuesday 07 April 2026  09:01:52 +0000 (0:00:00.062)       0:00:17.969 *********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nTuesday 07 April 2026  09:01:53 +0000 (0:00:00.392)       0:00:18.362 *********\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nTuesday 07 April 2026  09:01:53 +0000 (0:00:00.386)       0:00:18.749 *********\nskipping: [localhost]\n\nPLAY [Overwrite OSD devices with LVM-backed paths] *****************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:01:53 +0000 (0:00:00.032)       0:00:18.782 *********\nok: [instance]\n\nTASK [Overwrite existing osds.yml file] ****************************************\nTuesday 07 April 2026  09:01:54 +0000 (0:00:00.732)       0:00:19.514 *********\nchanged: [instance]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:01:54 +0000 (0:00:00.502)       0:00:20.016 *********\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nTuesday 07 April 2026  09:01:55 +0000 (0:00:00.708)       0:00:20.725 *********\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nTuesday 07 April 2026  09:01:55 +0000 (0:00:00.403)       0:00:21.129 *********\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nTuesday 07 April 2026  09:01:56 +0000 (0:00:00.235)       0:00:21.364 *********\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nTuesday 07 April 2026  09:01:56 +0000 (0:00:00.238)       0:00:21.603 *********\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nTuesday 07 April 2026  09:01:56 +0000 (0:00:00.227)       0:00:21.831 *********\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:01:57 +0000 (0:00:00.465)       0:00:22.296 *********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nTuesday 07 April 2026  09:01:57 +0000 (0:00:00.756)       0:00:23.052 *********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nTuesday 07 April 2026  09:02:20 +0000 (0:00:23.007)       0:00:46.061 *********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nTuesday 07 April 2026  09:02:21 +0000 (0:00:00.645)       0:00:46.706 *********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nTuesday 07 April 2026  09:02:21 +0000 (0:00:00.252)       0:00:46.959 *********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nTuesday 07 April 2026  09:02:22 +0000 (0:00:00.392)       0:00:47.351 *********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nTuesday 07 April 2026  09:02:22 +0000 (0:00:00.220)       0:00:47.572 *********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nTuesday 07 April 2026  09:02:22 +0000 (0:00:00.028)       0:00:47.600 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nTuesday 07 April 2026  09:02:22 +0000 (0:00:00.612)       0:00:48.213 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nTuesday 07 April 2026  09:02:23 +0000 (0:00:00.660)       0:00:48.873 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nTuesday 07 April 2026  09:02:24 +0000 (0:00:00.804)       0:00:49.677 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nTuesday 07 April 2026  09:02:27 +0000 (0:00:03.192)       0:00:52.870 *********\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] *********************************************************\nTuesday 07 April 2026  09:02:29 +0000 (0:00:02.150)       0:00:55.021 *********\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nTuesday 07 April 2026  09:02:30 +0000 (0:00:00.971)       0:00:55.992 *********\nchanged: [instance]\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=26   changed=11   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\nTuesday 07 April 2026  09:02:31 +0000 (0:00:00.497)       0:00:56.489 *********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 23.01s\nCreate a volume group for each loop device ------------------------------ 3.19s\nGenerate SSH keys for missing variables --------------------------------- 3.18s\nCreate a logical volume for each loop device ---------------------------- 2.15s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.69s\nCreate folders for workspace -------------------------------------------- 1.33s\nPurge \"snapd\" package --------------------------------------------------- 1.17s\nGathering Facts --------------------------------------------------------- 1.02s\nGathering Facts --------------------------------------------------------- 0.97s\nGenerate endpoint skeleton for missing variables ------------------------ 0.84s\nStart loop devices ------------------------------------------------------ 0.80s\nConfigure short hostname ------------------------------------------------ 0.79s\nGathering Facts --------------------------------------------------------- 0.76s\nGathering Facts --------------------------------------------------------- 0.73s\nGathering Facts --------------------------------------------------------- 0.73s\nGenerate temporary files for generating keys for missing variables ------ 0.72s\nGathering Facts --------------------------------------------------------- 0.71s\nSet permissions on loopback devices ------------------------------------- 0.66s\nStart up service -------------------------------------------------------- 0.65s\nWrite new Ceph control plane configuration file to disk ----------------- 0.64s\nINFO     [aio > prepare] Executed: Successful\nINFO     [aio > converge] Executing\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:02:34 +0000 (0:00:00.022)       0:00:00.022 *********\nok: [instance]\n\nTASK [Fail if atmosphere_ceph_enabled is set] **********************************\nTuesday 07 April 2026  09:02:35 +0000 (0:00:01.358)       0:00:01.381 *********\nskipping: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 07 April 2026  09:02:35 +0000 (0:00:00.047)       0:00:01.428 *********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:02:35 +0000 (0:00:00.264)       0:00:01.693 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:02:36 +0000 (0:00:00.944)       0:00:02.638 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:02:37 +0000 (0:00:00.332)       0:00:02.970 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 07 April 2026  09:02:37 +0000 (0:00:00.046)       0:00:03.016 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:02:37 +0000 (0:00:00.325)       0:00:03.342 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:02:37 +0000 (0:00:00.081)       0:00:03.423 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:02:38 +0000 (0:00:00.630)       0:00:04.054 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:02:38 +0000 (0:00:00.049)       0:00:04.103 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:02:38 +0000 (0:00:00.051)       0:00:04.155 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:02:38 +0000 (0:00:00.271)       0:00:04.426 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:02:40 +0000 (0:00:01.733)       0:00:06.160 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:02:40 +0000 (0:00:00.079)       0:00:06.239 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:02:41 +0000 (0:00:00.911)       0:00:07.150 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 07 April 2026  09:02:44 +0000 (0:00:03.137)       0:00:10.288 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 07 April 2026  09:02:44 +0000 (0:00:00.043)       0:00:10.331 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 07 April 2026  09:02:44 +0000 (0:00:00.040)       0:00:10.372 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 07 April 2026  09:02:44 +0000 (0:00:00.039)       0:00:10.411 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 07 April 2026  09:02:51 +0000 (0:00:06.798)       0:00:17.209 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 07 April 2026  09:02:51 +0000 (0:00:00.509)       0:00:17.719 *********\nchanged: [instance] => (item={'path': '/etc/containerd'})\nchanged: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 07 April 2026  09:02:52 +0000 (0:00:01.089)       0:00:18.808 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 07 April 2026  09:02:53 +0000 (0:00:00.498)       0:00:19.306 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 07 April 2026  09:02:53 +0000 (0:00:00.011)       0:00:19.318 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nTuesday 07 April 2026  09:02:54 +0000 (0:00:01.022)       0:00:20.340 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 07 April 2026  09:02:55 +0000 (0:00:00.488)       0:00:20.829 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:02:55 +0000 (0:00:00.585)       0:00:21.414 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:02:55 +0000 (0:00:00.255)       0:00:21.669 *********\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:02:55 +0000 (0:00:00.060)       0:00:21.730 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:02:56 +0000 (0:00:00.910)       0:00:22.641 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 07 April 2026  09:03:01 +0000 (0:00:04.550)       0:00:27.191 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 07 April 2026  09:03:02 +0000 (0:00:01.369)       0:00:28.561 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 07 April 2026  09:03:03 +0000 (0:00:00.403)       0:00:28.964 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 07 April 2026  09:03:03 +0000 (0:00:00.461)       0:00:29.425 *********\nchanged: [instance] => (item={'path': '/etc/docker'})\nchanged: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nchanged: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nTuesday 07 April 2026  09:03:04 +0000 (0:00:00.671)       0:00:30.097 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 07 April 2026  09:03:04 +0000 (0:00:00.426)       0:00:30.524 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 07 April 2026  09:03:05 +0000 (0:00:00.404)       0:00:30.928 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 07 April 2026  09:03:05 +0000 (0:00:00.011)       0:00:30.939 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nTuesday 07 April 2026  09:03:05 +0000 (0:00:00.724)       0:00:31.664 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 07 April 2026  09:03:08 +0000 (0:00:03.097)       0:00:34.761 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 07 April 2026  09:03:09 +0000 (0:00:00.595)       0:00:35.357 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nTuesday 07 April 2026  09:03:09 +0000 (0:00:00.062)       0:00:35.420 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 07 April 2026  09:03:14 +0000 (0:00:05.391)       0:00:40.811 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 07 April 2026  09:03:15 +0000 (0:00:00.753)       0:00:41.564 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 07 April 2026  09:03:16 +0000 (0:00:00.808)       0:00:42.372 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 07 April 2026  09:03:16 +0000 (0:00:00.242)       0:00:42.615 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 07 April 2026  09:03:17 +0000 (0:00:00.576)       0:00:43.192 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nTuesday 07 April 2026  09:03:17 +0000 (0:00:00.460)       0:00:43.652 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:01.639)       0:00:45.292 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.054)       0:00:45.346 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.033)       0:00:45.379 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.037)       0:00:45.417 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.037)       0:00:45.455 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.039)       0:00:45.495 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.043)       0:00:45.538 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.049)       0:00:45.587 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.041)       0:00:45.629 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nTuesday 07 April 2026  09:03:19 +0000 (0:00:00.118)       0:00:45.748 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nTuesday 07 April 2026  09:03:20 +0000 (0:00:00.244)       0:00:45.993 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nTuesday 07 April 2026  09:03:20 +0000 (0:00:00.061)       0:00:46.054 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\n\nTASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************\nTuesday 07 April 2026  09:03:20 +0000 (0:00:00.078)       0:00:46.132 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nTuesday 07 April 2026  09:03:20 +0000 (0:00:00.306)       0:00:46.439 *********\nchanged: [instance] => (item={'section': 'global', 'option': 'mon allow pool size one', 'value': True})\nchanged: [instance] => (item={'section': 'global', 'option': 'osd crush chooseleaf type', 'value': 0})\nchanged: [instance] => (item={'section': 'mon', 'option': 'auth allow insecure global id reclaim', 'value': False})\n\nTASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\nTuesday 07 April 2026  09:03:21 +0000 (0:00:00.736)       0:00:47.175 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nTuesday 07 April 2026  09:06:14 +0000 (0:02:53.494)       0:03:40.669 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nTuesday 07 April 2026  09:06:15 +0000 (0:00:00.270)       0:03:40.939 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 07 April 2026  09:06:15 +0000 (0:00:00.046)       0:03:40.986 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 07 April 2026  09:06:15 +0000 (0:00:00.087)       0:03:41.074 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 07 April 2026  09:06:17 +0000 (0:00:01.802)       0:03:42.876 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 07 April 2026  09:06:17 +0000 (0:00:00.064)       0:03:42.941 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 07 April 2026  09:06:17 +0000 (0:00:00.521)       0:03:43.462 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nTuesday 07 April 2026  09:06:19 +0000 (0:00:02.268)       0:03:45.730 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nTuesday 07 April 2026  09:06:21 +0000 (0:00:01.756)       0:03:47.486 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 07 April 2026  09:06:32 +0000 (0:00:11.333)       0:03:58.819 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 07 April 2026  09:06:33 +0000 (0:00:00.077)       0:03:58.897 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 07 April 2026  09:06:33 +0000 (0:00:00.063)       0:03:58.961 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 07 April 2026  09:06:33 +0000 (0:00:00.063)       0:03:59.024 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 07 April 2026  09:06:33 +0000 (0:00:00.330)       0:03:59.355 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nTuesday 07 April 2026  09:06:35 +0000 (0:00:02.132)       0:04:01.488 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nTuesday 07 April 2026  09:06:37 +0000 (0:00:01.808)       0:04:03.296 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nTuesday 07 April 2026  09:06:39 +0000 (0:00:01.719)       0:04:05.016 *********\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:06:41 +0000 (0:00:02.397)       0:04:07.413 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:06:42 +0000 (0:00:01.011)       0:04:08.425 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:06:42 +0000 (0:00:00.245)       0:04:08.670 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 07 April 2026  09:06:42 +0000 (0:00:00.051)       0:04:08.722 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:06:43 +0000 (0:00:00.244)       0:04:08.967 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:06:43 +0000 (0:00:00.059)       0:04:09.026 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:06:43 +0000 (0:00:00.354)       0:04:09.381 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:06:43 +0000 (0:00:00.050)       0:04:09.431 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:06:43 +0000 (0:00:00.050)       0:04:09.482 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:06:43 +0000 (0:00:00.244)       0:04:09.727 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:06:45 +0000 (0:00:01.563)       0:04:11.290 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:06:45 +0000 (0:00:00.076)       0:04:11.366 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:06:45 +0000 (0:00:00.419)       0:04:11.786 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 07 April 2026  09:06:47 +0000 (0:00:01.987)       0:04:13.774 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 07 April 2026  09:06:48 +0000 (0:00:00.050)       0:04:13.824 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 07 April 2026  09:06:48 +0000 (0:00:00.050)       0:04:13.875 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 07 April 2026  09:06:48 +0000 (0:00:00.089)       0:04:13.964 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 07 April 2026  09:06:49 +0000 (0:00:01.501)       0:04:15.465 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 07 April 2026  09:06:50 +0000 (0:00:00.395)       0:04:15.861 *********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 07 April 2026  09:06:51 +0000 (0:00:01.072)       0:04:16.934 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 07 April 2026  09:06:51 +0000 (0:00:00.485)       0:04:17.419 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 07 April 2026  09:06:51 +0000 (0:00:00.006)       0:04:17.426 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:06:51 +0000 (0:00:00.394)       0:04:17.821 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:06:52 +0000 (0:00:00.233)       0:04:18.054 *********\nok: [instance] => {\n    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:06:52 +0000 (0:00:00.058)       0:04:18.112 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:06:52 +0000 (0:00:00.492)       0:04:18.605 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 07 April 2026  09:06:55 +0000 (0:00:03.212)       0:04:21.817 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 07 April 2026  09:06:57 +0000 (0:00:01.540)       0:04:23.357 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 07 April 2026  09:06:57 +0000 (0:00:00.231)       0:04:23.589 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 07 April 2026  09:06:58 +0000 (0:00:00.410)       0:04:23.999 *********\nok: [instance] => (item={'path': '/etc/docker'})\nok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\nok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\n\nTASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\nTuesday 07 April 2026  09:06:58 +0000 (0:00:00.655)       0:04:24.654 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 07 April 2026  09:06:59 +0000 (0:00:00.433)       0:04:25.088 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 07 April 2026  09:06:59 +0000 (0:00:00.417)       0:04:25.505 *********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 07 April 2026  09:06:59 +0000 (0:00:00.009)       0:04:25.514 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 07 April 2026  09:07:00 +0000 (0:00:00.370)       0:04:25.885 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\n\nTASK [vexxhost.ceph.cephadm : Install packages] ********************************\nTuesday 07 April 2026  09:07:00 +0000 (0:00:00.062)       0:04:25.947 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 07 April 2026  09:07:01 +0000 (0:00:01.591)       0:04:27.539 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 07 April 2026  09:07:02 +0000 (0:00:00.746)       0:04:28.285 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 07 April 2026  09:07:03 +0000 (0:00:00.787)       0:04:29.073 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 07 April 2026  09:07:03 +0000 (0:00:00.236)       0:04:29.309 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 07 April 2026  09:07:03 +0000 (0:00:00.279)       0:04:29.589 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nTuesday 07 April 2026  09:07:04 +0000 (0:00:00.247)       0:04:29.837 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nTuesday 07 April 2026  09:07:04 +0000 (0:00:00.289)       0:04:30.127 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nTuesday 07 April 2026  09:07:04 +0000 (0:00:00.057)       0:04:30.184 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nTuesday 07 April 2026  09:07:09 +0000 (0:00:05.363)       0:04:35.548 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 07 April 2026  09:07:09 +0000 (0:00:00.061)       0:04:35.609 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 07 April 2026  09:07:09 +0000 (0:00:00.071)       0:04:35.681 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 07 April 2026  09:07:09 +0000 (0:00:00.044)       0:04:35.725 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 07 April 2026  09:07:09 +0000 (0:00:00.056)       0:04:35.782 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 07 April 2026  09:07:10 +0000 (0:00:00.300)       0:04:36.082 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nTuesday 07 April 2026  09:07:12 +0000 (0:00:02.073)       0:04:38.155 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nTuesday 07 April 2026  09:07:12 +0000 (0:00:00.037)       0:04:38.193 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nTuesday 07 April 2026  09:07:12 +0000 (0:00:00.035)       0:04:38.228 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nTuesday 07 April 2026  09:07:17 +0000 (0:00:05.444)       0:04:43.672 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nTuesday 07 April 2026  09:07:28 +0000 (0:00:10.516)       0:04:54.189 *********\nok: [instance] => (item=/dev/ceph-instance-osd0/data)\nok: [instance] => (item=/dev/ceph-instance-osd1/data)\nok: [instance] => (item=/dev/ceph-instance-osd2/data)\n\nTASK [vexxhost.ceph.osd : Get mon dump] ****************************************\nTuesday 07 April 2026  09:09:19 +0000 (0:01:51.569)       0:06:45.758 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nTuesday 07 April 2026  09:09:23 +0000 (0:00:03.803)       0:06:49.562 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nTuesday 07 April 2026  09:09:25 +0000 (0:00:02.083)       0:06:51.646 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\n\nTASK [vexxhost.ceph.osd : Set the retry count] *********************************\nTuesday 07 April 2026  09:09:25 +0000 (0:00:00.067)       0:06:51.713 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nTuesday 07 April 2026  09:09:25 +0000 (0:00:00.051)       0:06:51.764 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nTuesday 07 April 2026  09:09:28 +0000 (0:00:02.594)       0:06:54.359 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nTuesday 07 April 2026  09:09:28 +0000 (0:00:00.048)       0:06:54.407 *********\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance] => (item=1)\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\nTuesday 07 April 2026  09:09:28 +0000 (0:00:00.049)       0:06:54.457 *********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nTuesday 07 April 2026  09:09:28 +0000 (0:00:00.057)       0:06:54.514 *********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:09:29 +0000 (0:00:00.448)       0:06:54.962 *********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nTuesday 07 April 2026  09:09:30 +0000 (0:00:00.980)       0:06:55.943 *********\nchanged: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\nchanged: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\nchanged: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\nchanged: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\nchanged: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\nchanged: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\n\nTASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\nTuesday 07 April 2026  09:09:35 +0000 (0:00:05.435)       0:07:01.378 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nTuesday 07 April 2026  09:09:35 +0000 (0:00:00.222)       0:07:01.600 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nTuesday 07 April 2026  09:09:36 +0000 (0:00:00.402)       0:07:02.003 *********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 07 April 2026  09:09:36 +0000 (0:00:00.282)       0:07:02.285 *********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:09:36 +0000 (0:00:00.054)       0:07:02.340 *********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nTuesday 07 April 2026  09:09:37 +0000 (0:00:00.963)       0:07:03.304 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nTuesday 07 April 2026  09:09:37 +0000 (0:00:00.241)       0:07:03.545 *********\nok: [instance] => (item=/etc/keepalived/keepalived.conf)\nok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\nok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\nok: [instance] => (item=/etc/haproxy/haproxy.cfg)\nok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n\nTASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\nTuesday 07 April 2026  09:09:38 +0000 (0:00:01.062)       0:07:04.608 *********\nfailed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}\nfailed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}\nfailed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}\n...ignoring\n\nTASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\nTuesday 07 April 2026  09:09:39 +0000 (0:00:00.630)       0:07:05.239 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nTuesday 07 April 2026  09:09:39 +0000 (0:00:00.226)       0:07:05.466 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nTuesday 07 April 2026  09:09:39 +0000 (0:00:00.215)       0:07:05.681 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nTuesday 07 April 2026  09:09:39 +0000 (0:00:00.038)       0:07:05.720 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nTuesday 07 April 2026  09:09:39 +0000 (0:00:00.043)       0:07:05.764 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nTuesday 07 April 2026  09:09:40 +0000 (0:00:00.486)       0:07:06.250 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nTuesday 07 April 2026  09:09:40 +0000 (0:00:00.222)       0:07:06.473 *********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 07 April 2026  09:09:40 +0000 (0:00:00.060)       0:07:06.533 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:09:41 +0000 (0:00:00.976)       0:07:07.509 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:09:41 +0000 (0:00:00.239)       0:07:07.749 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 07 April 2026  09:09:41 +0000 (0:00:00.049)       0:07:07.798 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:09:42 +0000 (0:00:00.264)       0:07:08.063 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:09:42 +0000 (0:00:00.062)       0:07:08.126 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:09:42 +0000 (0:00:00.378)       0:07:08.504 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:09:42 +0000 (0:00:00.053)       0:07:08.558 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 07 April 2026  09:09:42 +0000 (0:00:00.239)       0:07:08.797 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:09:44 +0000 (0:00:01.437)       0:07:10.235 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:09:44 +0000 (0:00:00.068)       0:07:10.303 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:09:44 +0000 (0:00:00.492)       0:07:10.796 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 07 April 2026  09:09:47 +0000 (0:00:02.130)       0:07:12.927 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 07 April 2026  09:09:47 +0000 (0:00:00.132)       0:07:13.059 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 07 April 2026  09:09:47 +0000 (0:00:00.033)       0:07:13.093 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 07 April 2026  09:09:47 +0000 (0:00:00.031)       0:07:13.124 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 07 April 2026  09:09:48 +0000 (0:00:01.495)       0:07:14.620 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 07 April 2026  09:09:49 +0000 (0:00:00.406)       0:07:15.026 *********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 07 April 2026  09:09:50 +0000 (0:00:01.123)       0:07:16.149 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 07 April 2026  09:09:50 +0000 (0:00:00.495)       0:07:16.645 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 07 April 2026  09:09:50 +0000 (0:00:00.006)       0:07:16.652 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nTuesday 07 April 2026  09:09:51 +0000 (0:00:00.406)       0:07:17.058 *********\nAn 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.\nfatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nTuesday 07 April 2026  09:09:53 +0000 (0:00:01.865)       0:07:18.924 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.044)       0:07:18.968 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.039)       0:07:19.007 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.042)       0:07:19.050 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.046)       0:07:19.096 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.052)       0:07:19.148 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.239)       0:07:19.388 *********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:09:53 +0000 (0:00:00.049)       0:07:19.438 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:09:54 +0000 (0:00:00.848)       0:07:20.287 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:09:54 +0000 (0:00:00.051)       0:07:20.338 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:09:54 +0000 (0:00:00.243)       0:07:20.581 *********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:09:54 +0000 (0:00:00.050)       0:07:20.632 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:09:55 +0000 (0:00:00.780)       0:07:21.412 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 07 April 2026  09:09:55 +0000 (0:00:00.053)       0:07:21.465 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 07 April 2026  09:09:55 +0000 (0:00:00.038)       0:07:21.504 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 07 April 2026  09:09:55 +0000 (0:00:00.039)       0:07:21.543 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 07 April 2026  09:09:55 +0000 (0:00:00.040)       0:07:21.584 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 07 April 2026  09:09:57 +0000 (0:00:01.392)       0:07:22.977 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 07 April 2026  09:09:57 +0000 (0:00:00.435)       0:07:23.412 *********\nok: [instance] => (item={'path': '/etc/containerd'})\nok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nTuesday 07 April 2026  09:09:58 +0000 (0:00:01.090)       0:07:24.503 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 07 April 2026  09:09:59 +0000 (0:00:00.484)       0:07:24.987 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 07 April 2026  09:09:59 +0000 (0:00:00.006)       0:07:24.994 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:09:59 +0000 (0:00:00.372)       0:07:25.367 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:09:59 +0000 (0:00:00.263)       0:07:25.631 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:09:59 +0000 (0:00:00.084)       0:07:25.715 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:10:00 +0000 (0:00:00.706)       0:07:26.421 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:10:02 +0000 (0:00:01.438)       0:07:27.860 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/critest-v1.34.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:10:02 +0000 (0:00:00.074)       0:07:27.935 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:10:02 +0000 (0:00:00.669)       0:07:28.605 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nTuesday 07 April 2026  09:10:04 +0000 (0:00:01.404)       0:07:30.009 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nTuesday 07 April 2026  09:10:04 +0000 (0:00:00.420)       0:07:30.430 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:10:04 +0000 (0:00:00.249)       0:07:30.679 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:10:05 +0000 (0:00:00.239)       0:07:30.918 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.8.0/cni-plugins-linux-amd64-v1.8.0.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:10:05 +0000 (0:00:00.060)       0:07:30.979 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:10:06 +0000 (0:00:00.935)       0:07:31.914 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nTuesday 07 April 2026  09:10:08 +0000 (0:00:02.671)       0:07:34.586 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)\n\nTASK [vexxhost.containers.cni_plugins : Install additional packages] ***********\nTuesday 07 April 2026  09:10:08 +0000 (0:00:00.048)       0:07:34.635 *********\nok: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nTuesday 07 April 2026  09:10:10 +0000 (0:00:01.395)       0:07:36.030 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nTuesday 07 April 2026  09:10:10 +0000 (0:00:00.238)       0:07:36.269 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nTuesday 07 April 2026  09:10:10 +0000 (0:00:00.380)       0:07:36.649 *********\nchanged: [instance] => (item=br_netfilter)\nok: [instance] => (item=ip_tables)\nchanged: [instance] => (item=ip6_tables)\nok: [instance] => (item=nf_conntrack)\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 07 April 2026  09:10:11 +0000 (0:00:00.855)       0:07:37.505 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 07 April 2026  09:10:11 +0000 (0:00:00.237)       0:07:37.743 *********\nok: [instance] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 07 April 2026  09:10:11 +0000 (0:00:00.042)       0:07:37.785 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 07 April 2026  09:10:14 +0000 (0:00:02.744)       0:07:40.529 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nTuesday 07 April 2026  09:10:14 +0000 (0:00:00.037)       0:07:40.567 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nTuesday 07 April 2026  09:10:14 +0000 (0:00:00.052)       0:07:40.619 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nTuesday 07 April 2026  09:10:14 +0000 (0:00:00.031)       0:07:40.651 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nTuesday 07 April 2026  09:10:19 +0000 (0:00:04.231)       0:07:44.883 *********\nchanged: [instance] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})\nchanged: [instance] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})\nchanged: [instance] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})\nchanged: [instance] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})\nchanged: [instance] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})\nchanged: [instance] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})\nchanged: [instance] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})\n\nTASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***\nTuesday 07 April 2026  09:10:20 +0000 (0:00:01.448)       0:07:46.332 *********\nchanged: [instance] => (item=/etc/systemd/system/kubelet.service.d)\nok: [instance] => (item=/etc/kubernetes)\nok: [instance] => (item=/etc/kubernetes/manifests)\n\nTASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********\nTuesday 07 April 2026  09:10:21 +0000 (0:00:00.609)       0:07:46.941 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nTuesday 07 April 2026  09:10:21 +0000 (0:00:00.407)       0:07:47.349 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nTuesday 07 April 2026  09:10:21 +0000 (0:00:00.438)       0:07:47.787 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nTuesday 07 April 2026  09:10:22 +0000 (0:00:00.266)       0:07:48.054 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nTuesday 07 April 2026  09:10:22 +0000 (0:00:00.037)       0:07:48.091 *********\nok: [instance] => (item=swap)\nok: [instance] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nTuesday 07 April 2026  09:10:22 +0000 (0:00:00.517)       0:07:48.609 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nTuesday 07 April 2026  09:10:23 +0000 (0:00:00.398)       0:07:49.007 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nTuesday 07 April 2026  09:10:23 +0000 (0:00:00.654)       0:07:49.662 *********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nTuesday 07 April 2026  09:10:23 +0000 (0:00:00.007)       0:07:49.669 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nTuesday 07 April 2026  09:10:24 +0000 (0:00:00.789)       0:07:50.459 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nTuesday 07 April 2026  09:10:25 +0000 (0:00:00.590)       0:07:51.050 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nTuesday 07 April 2026  09:10:26 +0000 (0:00:01.286)       0:07:52.336 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nTuesday 07 April 2026  09:10:27 +0000 (0:00:00.747)       0:07:53.084 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nTuesday 07 April 2026  09:10:27 +0000 (0:00:00.254)       0:07:53.339 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.910)       0:07:54.250 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.082)       0:07:54.332 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for instance\n\nTASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.077)       0:07:54.410 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.249)       0:07:54.660 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.042)       0:07:54.703 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.057)       0:07:54.760 *********\nok: [instance] => {\n    \"msg\": \"instance\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nTuesday 07 April 2026  09:10:28 +0000 (0:00:00.043)       0:07:54.804 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.486)       0:07:55.291 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.042)       0:07:55.333 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.037)       0:07:55.371 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.035)       0:07:55.406 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.038)       0:07:55.445 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.039)       0:07:55.484 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.036)       0:07:55.521 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nTuesday 07 April 2026  09:10:29 +0000 (0:00:00.040)       0:07:55.561 *********\nfatal: [instance]: FAILED! => {\"changed\": true, \"cmd\": \"kubeadm init --config /etc/kubernetes/kubeadm.yaml --upload-certs  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests\\n\", \"delta\": \"0:04:31.102138\", \"end\": \"2026-04-07 09:15:01.027781\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-07 09:10:29.925643\", \"stderr\": \"W0407 09:10:29.964417   45441 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0407 09:10:29.964417   45441 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\\n[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\\n[certs] Generating \\\"ca\\\" certificate and key\\n[certs] Generating \\\"apiserver\\\" certificate and key\\n[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.157 10.96.240.10]\\n[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\\n[certs] Generating \\\"front-proxy-ca\\\" certificate and key\\n[certs] Generating \\\"front-proxy-client\\\" certificate and key\\n[certs] Generating \\\"etcd/ca\\\" certificate and key\\n[certs] Generating \\\"etcd/server\\\" certificate and key\\n[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/peer\\\" certificate and key\\n[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\\n[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\\n[certs] Generating \\\"sa\\\" key and public key\\n[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\\n[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\\n[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\\n[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\\n[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\\n[kubelet-start] Starting the kubelet\\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\\n[kubelet-check] Initial timeout of 40s passed.\\n\\nUnfortunately, an error has occurred:\\n\\ttimed out waiting for the condition\\n\\nThis error is likely caused by:\\n\\t- The kubelet is not running\\n\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\\n\\nIf you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\\n\\t- 'systemctl status kubelet'\\n\\t- 'journalctl -xeu kubelet'\\n\\nAdditionally, a control plane component may have crashed or exited when started by the container runtime.\\nTo troubleshoot, list all containers using your preferred container runtimes CLI.\\nHere is one example how you may list all running Kubernetes containers by using crictl:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\\n\\tOnce you have found the failing container, you can inspect its logs with:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\", \"[certs] Generating \\\"ca\\\" certificate and key\", \"[certs] Generating \\\"apiserver\\\" certificate and key\", \"[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.157 10.96.240.10]\", \"[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-ca\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-client\\\" certificate and key\", \"[certs] Generating \\\"etcd/ca\\\" certificate and key\", \"[certs] Generating \\\"etcd/server\\\" certificate and key\", \"[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/peer\\\" certificate and key\", \"[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\", \"[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\", \"[certs] Generating \\\"sa\\\" key and public key\", \"[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\", \"[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\", \"[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\", \"[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\", \"[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\", \"[kubelet-start] Starting the kubelet\", \"[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\", \"[kubelet-check] Initial timeout of 40s passed.\", \"\", \"Unfortunately, an error has occurred:\", \"\\ttimed out waiting for the condition\", \"\", \"This error is likely caused by:\", \"\\t- The kubelet is not running\", \"\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\", \"\", \"If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\", \"\\t- 'systemctl status kubelet'\", \"\\t- 'journalctl -xeu kubelet'\", \"\", \"Additionally, a control plane component may have crashed or exited when started by the container runtime.\", \"To troubleshoot, list all containers using your preferred container runtimes CLI.\", \"Here is one example how you may list all running Kubernetes containers by using crictl:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\", \"\\tOnce you have found the failing container, you can inspect its logs with:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\"]}\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=199  changed=54   unreachable=0    failed=1    skipped=54   rescued=0    ignored=2\n\nTuesday 07 April 2026  09:15:01 +0000 (0:04:31.369)       0:12:26.930 *********\n===============================================================================\nvexxhost.kubernetes.kubernetes : Initialize cluster ------------------- 271.37s\nvexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 173.49s\nvexxhost.ceph.osd : Install OSDs -------------------------------------- 111.57s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.33s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.52s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 6.80s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.44s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 5.44s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 5.39s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.36s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.55s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 4.23s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 3.80s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.21s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.14s\nvexxhost.containers.docker : Restart docker ----------------------------- 3.10s\nvexxhost.containers.download_artifact : Download item ------------------- 2.74s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.67s\nvexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 2.59s\nvexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.40s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                            "stdout_lines": [
                                "Using CPython 3.10.12 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading cryptography",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 40ms",
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [aio > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [aio > dependency] Executing",
                                "WARNING  [aio > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [aio > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [aio > cleanup] Executing",
                                "WARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > destroy] Executing",
                                "WARNING  [aio > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [aio > destroy] Executed: Successful",
                                "INFO     [aio > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "INFO     [aio > syntax] Executed: Successful",
                                "INFO     [aio > create] Executing",
                                "WARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:01:34 +0000 (0:00:00.040)       0:00:00.040 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Tuesday 07 April 2026  09:01:35 +0000 (0:00:01.016)       0:00:01.056 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Tuesday 07 April 2026  09:01:36 +0000 (0:00:00.785)       0:00:01.842 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Install \"dirmngr\" for GPG keyserver operations] **************************",
                                "Tuesday 07 April 2026  09:01:36 +0000 (0:00:00.370)       0:00:02.212 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Tuesday 07 April 2026  09:01:38 +0000 (0:00:01.686)       0:00:03.899 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Tuesday 07 April 2026  09:01:39 +0000 (0:00:01.168)       0:00:05.067 *********",
                                "ok: [localhost] => (item=group_vars)",
                                "ok: [localhost] => (item=group_vars/all)",
                                "changed: [localhost] => (item=group_vars/controllers)",
                                "changed: [localhost] => (item=group_vars/cephs)",
                                "changed: [localhost] => (item=group_vars/computes)",
                                "ok: [localhost] => (item=host_vars)",
                                "",
                                "PLAY [Generate Ceph control plane configuration for workspace] *****************",
                                "",
                                "TASK [Ensure the Ceph control plane configuration file exists] *****************",
                                "Tuesday 07 April 2026  09:01:41 +0000 (0:00:01.333)       0:00:06.400 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Tuesday 07 April 2026  09:01:41 +0000 (0:00:00.238)       0:00:06.639 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Tuesday 07 April 2026  09:01:41 +0000 (0:00:00.067)       0:00:06.707 *********",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': '8a0b2ddb-7ac2-5026-b728-6ec591a3e629'})",
                                "ok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})",
                                "",
                                "TASK [Write new Ceph control plane configuration file to disk] *****************",
                                "Tuesday 07 April 2026  09:01:41 +0000 (0:00:00.074)       0:00:06.781 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Tuesday 07 April 2026  09:01:42 +0000 (0:00:00.635)       0:00:07.417 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Tuesday 07 April 2026  09:01:42 +0000 (0:00:00.250)       0:00:07.667 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Tuesday 07 April 2026  09:01:42 +0000 (0:00:00.034)       0:00:07.702 *********",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Tuesday 07 April 2026  09:01:42 +0000 (0:00:00.037)       0:00:07.740 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Tuesday 07 April 2026  09:01:42 +0000 (0:00:00.379)       0:00:08.119 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.204)       0:00:08.323 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.033)       0:00:08.356 *********",
                                "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] *************************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.042)       0:00:08.399 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.373)       0:00:08.773 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.203)       0:00:08.977 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.028)       0:00:09.005 *********",
                                "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] *************************",
                                "Tuesday 07 April 2026  09:01:43 +0000 (0:00:00.032)       0:00:09.038 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:01:44 +0000 (0:00:00.379)       0:00:09.418 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Tuesday 07 April 2026  09:01:44 +0000 (0:00:00.728)       0:00:10.146 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Tuesday 07 April 2026  09:01:45 +0000 (0:00:00.213)       0:00:10.360 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Tuesday 07 April 2026  09:01:45 +0000 (0:00:00.037)       0:00:10.398 *********",
                                "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] ****************************************",
                                "Tuesday 07 April 2026  09:01:45 +0000 (0:00:00.836)       0:00:11.235 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Tuesday 07 April 2026  09:01:46 +0000 (0:00:00.382)       0:00:11.617 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Tuesday 07 April 2026  09:01:46 +0000 (0:00:00.230)       0:00:11.848 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Tuesday 07 April 2026  09:01:46 +0000 (0:00:00.224)       0:00:12.073 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Tuesday 07 April 2026  09:01:46 +0000 (0:00:00.040)       0:00:12.113 *********",
                                "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] ****************************",
                                "Tuesday 07 April 2026  09:01:46 +0000 (0:00:00.043)       0:00:12.157 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Tuesday 07 April 2026  09:01:47 +0000 (0:00:00.397)       0:00:12.554 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Tuesday 07 April 2026  09:01:47 +0000 (0:00:00.229)       0:00:12.783 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Tuesday 07 April 2026  09:01:47 +0000 (0:00:00.042)       0:00:12.826 *********",
                                "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] *******************************",
                                "Tuesday 07 April 2026  09:01:47 +0000 (0:00:00.046)       0:00:12.872 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Tuesday 07 April 2026  09:01:48 +0000 (0:00:00.380)       0:00:13.253 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Tuesday 07 April 2026  09:01:48 +0000 (0:00:00.214)       0:00:13.467 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Tuesday 07 April 2026  09:01:48 +0000 (0:00:00.041)       0:00:13.509 *********",
                                "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] *****************************************",
                                "Tuesday 07 April 2026  09:01:48 +0000 (0:00:00.427)       0:00:13.936 *********",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Tuesday 07 April 2026  09:01:48 +0000 (0:00:00.067)       0:00:14.004 *********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Tuesday 07 April 2026  09:01:49 +0000 (0:00:00.720)       0:00:14.725 *********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Tuesday 07 April 2026  09:01:52 +0000 (0:00:03.181)       0:00:17.907 *********",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Tuesday 07 April 2026  09:01:52 +0000 (0:00:00.062)       0:00:17.969 *********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Tuesday 07 April 2026  09:01:53 +0000 (0:00:00.392)       0:00:18.362 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Tuesday 07 April 2026  09:01:53 +0000 (0:00:00.386)       0:00:18.749 *********",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Overwrite OSD devices with LVM-backed paths] *****************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:01:53 +0000 (0:00:00.032)       0:00:18.782 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Overwrite existing osds.yml file] ****************************************",
                                "Tuesday 07 April 2026  09:01:54 +0000 (0:00:00.732)       0:00:19.514 *********",
                                "changed: [instance]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:01:54 +0000 (0:00:00.502)       0:00:20.016 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Tuesday 07 April 2026  09:01:55 +0000 (0:00:00.708)       0:00:20.725 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Tuesday 07 April 2026  09:01:55 +0000 (0:00:00.403)       0:00:21.129 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Tuesday 07 April 2026  09:01:56 +0000 (0:00:00.235)       0:00:21.364 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Tuesday 07 April 2026  09:01:56 +0000 (0:00:00.238)       0:00:21.603 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Tuesday 07 April 2026  09:01:56 +0000 (0:00:00.227)       0:00:21.831 *********",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:01:57 +0000 (0:00:00.465)       0:00:22.296 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Tuesday 07 April 2026  09:01:57 +0000 (0:00:00.756)       0:00:23.052 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Tuesday 07 April 2026  09:02:20 +0000 (0:00:23.007)       0:00:46.061 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Tuesday 07 April 2026  09:02:21 +0000 (0:00:00.645)       0:00:46.706 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Tuesday 07 April 2026  09:02:21 +0000 (0:00:00.252)       0:00:46.959 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Tuesday 07 April 2026  09:02:22 +0000 (0:00:00.392)       0:00:47.351 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Tuesday 07 April 2026  09:02:22 +0000 (0:00:00.220)       0:00:47.572 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Tuesday 07 April 2026  09:02:22 +0000 (0:00:00.028)       0:00:47.600 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Tuesday 07 April 2026  09:02:22 +0000 (0:00:00.612)       0:00:48.213 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Tuesday 07 April 2026  09:02:23 +0000 (0:00:00.660)       0:00:48.873 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Tuesday 07 April 2026  09:02:24 +0000 (0:00:00.804)       0:00:49.677 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Tuesday 07 April 2026  09:02:27 +0000 (0:00:03.192)       0:00:52.870 *********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:02:29 +0000 (0:00:02.150)       0:00:55.021 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Tuesday 07 April 2026  09:02:30 +0000 (0:00:00.971)       0:00:55.992 *********",
                                "changed: [instance]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=26   changed=11   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",
                                "",
                                "Tuesday 07 April 2026  09:02:31 +0000 (0:00:00.497)       0:00:56.489 *********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 23.01s",
                                "Create a volume group for each loop device ------------------------------ 3.19s",
                                "Generate SSH keys for missing variables --------------------------------- 3.18s",
                                "Create a logical volume for each loop device ---------------------------- 2.15s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.69s",
                                "Create folders for workspace -------------------------------------------- 1.33s",
                                "Purge \"snapd\" package --------------------------------------------------- 1.17s",
                                "Gathering Facts --------------------------------------------------------- 1.02s",
                                "Gathering Facts --------------------------------------------------------- 0.97s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.84s",
                                "Start loop devices ------------------------------------------------------ 0.80s",
                                "Configure short hostname ------------------------------------------------ 0.79s",
                                "Gathering Facts --------------------------------------------------------- 0.76s",
                                "Gathering Facts --------------------------------------------------------- 0.73s",
                                "Gathering Facts --------------------------------------------------------- 0.73s",
                                "Generate temporary files for generating keys for missing variables ------ 0.72s",
                                "Gathering Facts --------------------------------------------------------- 0.71s",
                                "Set permissions on loopback devices ------------------------------------- 0.66s",
                                "Start up service -------------------------------------------------------- 0.65s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.64s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     [aio > converge] Executing",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:02:34 +0000 (0:00:00.022)       0:00:00.022 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if atmosphere_ceph_enabled is set] **********************************",
                                "Tuesday 07 April 2026  09:02:35 +0000 (0:00:01.358)       0:00:01.381 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 07 April 2026  09:02:35 +0000 (0:00:00.047)       0:00:01.428 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:02:35 +0000 (0:00:00.264)       0:00:01.693 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:02:36 +0000 (0:00:00.944)       0:00:02.638 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:02:37 +0000 (0:00:00.332)       0:00:02.970 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 07 April 2026  09:02:37 +0000 (0:00:00.046)       0:00:03.016 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:02:37 +0000 (0:00:00.325)       0:00:03.342 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:02:37 +0000 (0:00:00.081)       0:00:03.423 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:02:38 +0000 (0:00:00.630)       0:00:04.054 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:02:38 +0000 (0:00:00.049)       0:00:04.103 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:02:38 +0000 (0:00:00.051)       0:00:04.155 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:02:38 +0000 (0:00:00.271)       0:00:04.426 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:02:40 +0000 (0:00:01.733)       0:00:06.160 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:02:40 +0000 (0:00:00.079)       0:00:06.239 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:02:41 +0000 (0:00:00.911)       0:00:07.150 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 07 April 2026  09:02:44 +0000 (0:00:03.137)       0:00:10.288 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 07 April 2026  09:02:44 +0000 (0:00:00.043)       0:00:10.331 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 07 April 2026  09:02:44 +0000 (0:00:00.040)       0:00:10.372 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 07 April 2026  09:02:44 +0000 (0:00:00.039)       0:00:10.411 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 07 April 2026  09:02:51 +0000 (0:00:06.798)       0:00:17.209 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 07 April 2026  09:02:51 +0000 (0:00:00.509)       0:00:17.719 *********",
                                "changed: [instance] => (item={'path': '/etc/containerd'})",
                                "changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 07 April 2026  09:02:52 +0000 (0:00:01.089)       0:00:18.808 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 07 April 2026  09:02:53 +0000 (0:00:00.498)       0:00:19.306 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 07 April 2026  09:02:53 +0000 (0:00:00.011)       0:00:19.318 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Tuesday 07 April 2026  09:02:54 +0000 (0:00:01.022)       0:00:20.340 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 07 April 2026  09:02:55 +0000 (0:00:00.488)       0:00:20.829 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:02:55 +0000 (0:00:00.585)       0:00:21.414 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:02:55 +0000 (0:00:00.255)       0:00:21.669 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:02:55 +0000 (0:00:00.060)       0:00:21.730 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:02:56 +0000 (0:00:00.910)       0:00:22.641 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 07 April 2026  09:03:01 +0000 (0:00:04.550)       0:00:27.191 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 07 April 2026  09:03:02 +0000 (0:00:01.369)       0:00:28.561 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 07 April 2026  09:03:03 +0000 (0:00:00.403)       0:00:28.964 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 07 April 2026  09:03:03 +0000 (0:00:00.461)       0:00:29.425 *********",
                                "changed: [instance] => (item={'path': '/etc/docker'})",
                                "changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Tuesday 07 April 2026  09:03:04 +0000 (0:00:00.671)       0:00:30.097 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 07 April 2026  09:03:04 +0000 (0:00:00.426)       0:00:30.524 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 07 April 2026  09:03:05 +0000 (0:00:00.404)       0:00:30.928 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 07 April 2026  09:03:05 +0000 (0:00:00.011)       0:00:30.939 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Tuesday 07 April 2026  09:03:05 +0000 (0:00:00.724)       0:00:31.664 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 07 April 2026  09:03:08 +0000 (0:00:03.097)       0:00:34.761 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 07 April 2026  09:03:09 +0000 (0:00:00.595)       0:00:35.357 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Tuesday 07 April 2026  09:03:09 +0000 (0:00:00.062)       0:00:35.420 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 07 April 2026  09:03:14 +0000 (0:00:05.391)       0:00:40.811 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 07 April 2026  09:03:15 +0000 (0:00:00.753)       0:00:41.564 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 07 April 2026  09:03:16 +0000 (0:00:00.808)       0:00:42.372 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 07 April 2026  09:03:16 +0000 (0:00:00.242)       0:00:42.615 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 07 April 2026  09:03:17 +0000 (0:00:00.576)       0:00:43.192 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Tuesday 07 April 2026  09:03:17 +0000 (0:00:00.460)       0:00:43.652 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:01.639)       0:00:45.292 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.054)       0:00:45.346 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.033)       0:00:45.379 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.037)       0:00:45.417 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.037)       0:00:45.455 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.039)       0:00:45.495 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.043)       0:00:45.538 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.049)       0:00:45.587 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.041)       0:00:45.629 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Tuesday 07 April 2026  09:03:19 +0000 (0:00:00.118)       0:00:45.748 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Tuesday 07 April 2026  09:03:20 +0000 (0:00:00.244)       0:00:45.993 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Tuesday 07 April 2026  09:03:20 +0000 (0:00:00.061)       0:00:46.054 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate temporary file for \"ceph.conf\"] *************",
                                "Tuesday 07 April 2026  09:03:20 +0000 (0:00:00.078)       0:00:46.132 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Tuesday 07 April 2026  09:03:20 +0000 (0:00:00.306)       0:00:46.439 *********",
                                "changed: [instance] => (item={'section': 'global', 'option': 'mon allow pool size one', 'value': True})",
                                "changed: [instance] => (item={'section': 'global', 'option': 'osd crush chooseleaf type', 'value': 0})",
                                "changed: [instance] => (item={'section': 'mon', 'option': 'auth allow insecure global id reclaim', 'value': False})",
                                "",
                                "TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************",
                                "Tuesday 07 April 2026  09:03:21 +0000 (0:00:00.736)       0:00:47.175 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Tuesday 07 April 2026  09:06:14 +0000 (0:02:53.494)       0:03:40.669 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Tuesday 07 April 2026  09:06:15 +0000 (0:00:00.270)       0:03:40.939 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 07 April 2026  09:06:15 +0000 (0:00:00.046)       0:03:40.986 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 07 April 2026  09:06:15 +0000 (0:00:00.087)       0:03:41.074 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 07 April 2026  09:06:17 +0000 (0:00:01.802)       0:03:42.876 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 07 April 2026  09:06:17 +0000 (0:00:00.064)       0:03:42.941 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 07 April 2026  09:06:17 +0000 (0:00:00.521)       0:03:43.462 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Tuesday 07 April 2026  09:06:19 +0000 (0:00:02.268)       0:03:45.730 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Tuesday 07 April 2026  09:06:21 +0000 (0:00:01.756)       0:03:47.486 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 07 April 2026  09:06:32 +0000 (0:00:11.333)       0:03:58.819 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 07 April 2026  09:06:33 +0000 (0:00:00.077)       0:03:58.897 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 07 April 2026  09:06:33 +0000 (0:00:00.063)       0:03:58.961 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 07 April 2026  09:06:33 +0000 (0:00:00.063)       0:03:59.024 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 07 April 2026  09:06:33 +0000 (0:00:00.330)       0:03:59.355 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Tuesday 07 April 2026  09:06:35 +0000 (0:00:02.132)       0:04:01.488 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Tuesday 07 April 2026  09:06:37 +0000 (0:00:01.808)       0:04:03.296 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Tuesday 07 April 2026  09:06:39 +0000 (0:00:01.719)       0:04:05.016 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:06:41 +0000 (0:00:02.397)       0:04:07.413 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:06:42 +0000 (0:00:01.011)       0:04:08.425 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:06:42 +0000 (0:00:00.245)       0:04:08.670 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 07 April 2026  09:06:42 +0000 (0:00:00.051)       0:04:08.722 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:06:43 +0000 (0:00:00.244)       0:04:08.967 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:06:43 +0000 (0:00:00.059)       0:04:09.026 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:06:43 +0000 (0:00:00.354)       0:04:09.381 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:06:43 +0000 (0:00:00.050)       0:04:09.431 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:06:43 +0000 (0:00:00.050)       0:04:09.482 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:06:43 +0000 (0:00:00.244)       0:04:09.727 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:06:45 +0000 (0:00:01.563)       0:04:11.290 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:06:45 +0000 (0:00:00.076)       0:04:11.366 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:06:45 +0000 (0:00:00.419)       0:04:11.786 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 07 April 2026  09:06:47 +0000 (0:00:01.987)       0:04:13.774 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 07 April 2026  09:06:48 +0000 (0:00:00.050)       0:04:13.824 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 07 April 2026  09:06:48 +0000 (0:00:00.050)       0:04:13.875 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 07 April 2026  09:06:48 +0000 (0:00:00.089)       0:04:13.964 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 07 April 2026  09:06:49 +0000 (0:00:01.501)       0:04:15.465 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 07 April 2026  09:06:50 +0000 (0:00:00.395)       0:04:15.861 *********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 07 April 2026  09:06:51 +0000 (0:00:01.072)       0:04:16.934 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 07 April 2026  09:06:51 +0000 (0:00:00.485)       0:04:17.419 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 07 April 2026  09:06:51 +0000 (0:00:00.006)       0:04:17.426 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:06:51 +0000 (0:00:00.394)       0:04:17.821 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:06:52 +0000 (0:00:00.233)       0:04:18.054 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:06:52 +0000 (0:00:00.058)       0:04:18.112 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:06:52 +0000 (0:00:00.492)       0:04:18.605 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 07 April 2026  09:06:55 +0000 (0:00:03.212)       0:04:21.817 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 07 April 2026  09:06:57 +0000 (0:00:01.540)       0:04:23.357 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 07 April 2026  09:06:57 +0000 (0:00:00.231)       0:04:23.589 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 07 April 2026  09:06:58 +0000 (0:00:00.410)       0:04:23.999 *********",
                                "ok: [instance] => (item={'path': '/etc/docker'})",
                                "ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})",
                                "ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******",
                                "Tuesday 07 April 2026  09:06:58 +0000 (0:00:00.655)       0:04:24.654 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 07 April 2026  09:06:59 +0000 (0:00:00.433)       0:04:25.088 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 07 April 2026  09:06:59 +0000 (0:00:00.417)       0:04:25.505 *********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 07 April 2026  09:06:59 +0000 (0:00:00.009)       0:04:25.514 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 07 April 2026  09:07:00 +0000 (0:00:00.370)       0:04:25.885 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Tuesday 07 April 2026  09:07:00 +0000 (0:00:00.062)       0:04:25.947 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 07 April 2026  09:07:01 +0000 (0:00:01.591)       0:04:27.539 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 07 April 2026  09:07:02 +0000 (0:00:00.746)       0:04:28.285 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 07 April 2026  09:07:03 +0000 (0:00:00.787)       0:04:29.073 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 07 April 2026  09:07:03 +0000 (0:00:00.236)       0:04:29.309 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 07 April 2026  09:07:03 +0000 (0:00:00.279)       0:04:29.589 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Tuesday 07 April 2026  09:07:04 +0000 (0:00:00.247)       0:04:29.837 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Tuesday 07 April 2026  09:07:04 +0000 (0:00:00.289)       0:04:30.127 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Tuesday 07 April 2026  09:07:04 +0000 (0:00:00.057)       0:04:30.184 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 07 April 2026  09:07:09 +0000 (0:00:05.363)       0:04:35.548 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 07 April 2026  09:07:09 +0000 (0:00:00.061)       0:04:35.609 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 07 April 2026  09:07:09 +0000 (0:00:00.071)       0:04:35.681 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 07 April 2026  09:07:09 +0000 (0:00:00.044)       0:04:35.725 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 07 April 2026  09:07:09 +0000 (0:00:00.056)       0:04:35.782 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 07 April 2026  09:07:10 +0000 (0:00:00.300)       0:04:36.082 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Tuesday 07 April 2026  09:07:12 +0000 (0:00:02.073)       0:04:38.155 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Tuesday 07 April 2026  09:07:12 +0000 (0:00:00.037)       0:04:38.193 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Tuesday 07 April 2026  09:07:12 +0000 (0:00:00.035)       0:04:38.228 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Tuesday 07 April 2026  09:07:17 +0000 (0:00:05.444)       0:04:43.672 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Tuesday 07 April 2026  09:07:28 +0000 (0:00:10.516)       0:04:54.189 *********",
                                "ok: [instance] => (item=/dev/ceph-instance-osd0/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd1/data)",
                                "ok: [instance] => (item=/dev/ceph-instance-osd2/data)",
                                "",
                                "TASK [vexxhost.ceph.osd : Get mon dump] ****************************************",
                                "Tuesday 07 April 2026  09:09:19 +0000 (0:01:51.569)       0:06:45.758 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Tuesday 07 April 2026  09:09:23 +0000 (0:00:03.803)       0:06:49.562 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Tuesday 07 April 2026  09:09:25 +0000 (0:00:02.083)       0:06:51.646 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance",
                                "",
                                "TASK [vexxhost.ceph.osd : Set the retry count] *********************************",
                                "Tuesday 07 April 2026  09:09:25 +0000 (0:00:00.067)       0:06:51.713 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Tuesday 07 April 2026  09:09:25 +0000 (0:00:00.051)       0:06:51.764 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Tuesday 07 April 2026  09:09:28 +0000 (0:00:02.594)       0:06:54.359 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Tuesday 07 April 2026  09:09:28 +0000 (0:00:00.048)       0:06:54.407 *********",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Tuesday 07 April 2026  09:09:28 +0000 (0:00:00.049)       0:06:54.457 *********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Tuesday 07 April 2026  09:09:28 +0000 (0:00:00.057)       0:06:54.514 *********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:09:29 +0000 (0:00:00.448)       0:06:54.962 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Tuesday 07 April 2026  09:09:30 +0000 (0:00:00.980)       0:06:55.943 *********",
                                "changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})",
                                "changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})",
                                "changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})",
                                "changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})",
                                "changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***",
                                "Tuesday 07 April 2026  09:09:35 +0000 (0:00:05.435)       0:07:01.378 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Tuesday 07 April 2026  09:09:35 +0000 (0:00:00.222)       0:07:01.600 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Tuesday 07 April 2026  09:09:36 +0000 (0:00:00.402)       0:07:02.003 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 07 April 2026  09:09:36 +0000 (0:00:00.282)       0:07:02.285 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:09:36 +0000 (0:00:00.054)       0:07:02.340 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Tuesday 07 April 2026  09:09:37 +0000 (0:00:00.963)       0:07:03.304 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Tuesday 07 April 2026  09:09:37 +0000 (0:00:00.241)       0:07:03.545 *********",
                                "ok: [instance] => (item=/etc/keepalived/keepalived.conf)",
                                "ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "ok: [instance] => (item=/etc/haproxy/haproxy.cfg)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "Tuesday 07 April 2026  09:09:38 +0000 (0:00:01.062)       0:07:04.608 *********",
                                "failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}",
                                "failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}",
                                "failed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********",
                                "Tuesday 07 April 2026  09:09:39 +0000 (0:00:00.630)       0:07:05.239 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Tuesday 07 April 2026  09:09:39 +0000 (0:00:00.226)       0:07:05.466 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Tuesday 07 April 2026  09:09:39 +0000 (0:00:00.215)       0:07:05.681 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Tuesday 07 April 2026  09:09:39 +0000 (0:00:00.038)       0:07:05.720 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Tuesday 07 April 2026  09:09:39 +0000 (0:00:00.043)       0:07:05.764 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Tuesday 07 April 2026  09:09:40 +0000 (0:00:00.486)       0:07:06.250 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Tuesday 07 April 2026  09:09:40 +0000 (0:00:00.222)       0:07:06.473 *********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 07 April 2026  09:09:40 +0000 (0:00:00.060)       0:07:06.533 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:09:41 +0000 (0:00:00.976)       0:07:07.509 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:09:41 +0000 (0:00:00.239)       0:07:07.749 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 07 April 2026  09:09:41 +0000 (0:00:00.049)       0:07:07.798 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:09:42 +0000 (0:00:00.264)       0:07:08.063 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:09:42 +0000 (0:00:00.062)       0:07:08.126 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:09:42 +0000 (0:00:00.378)       0:07:08.504 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:09:42 +0000 (0:00:00.053)       0:07:08.558 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 07 April 2026  09:09:42 +0000 (0:00:00.239)       0:07:08.797 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:09:44 +0000 (0:00:01.437)       0:07:10.235 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:09:44 +0000 (0:00:00.068)       0:07:10.303 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:09:44 +0000 (0:00:00.492)       0:07:10.796 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 07 April 2026  09:09:47 +0000 (0:00:02.130)       0:07:12.927 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 07 April 2026  09:09:47 +0000 (0:00:00.132)       0:07:13.059 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 07 April 2026  09:09:47 +0000 (0:00:00.033)       0:07:13.093 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 07 April 2026  09:09:47 +0000 (0:00:00.031)       0:07:13.124 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 07 April 2026  09:09:48 +0000 (0:00:01.495)       0:07:14.620 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 07 April 2026  09:09:49 +0000 (0:00:00.406)       0:07:15.026 *********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 07 April 2026  09:09:50 +0000 (0:00:01.123)       0:07:16.149 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 07 April 2026  09:09:50 +0000 (0:00:00.495)       0:07:16.645 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 07 April 2026  09:09:50 +0000 (0:00:00.006)       0:07:16.652 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Tuesday 07 April 2026  09:09:51 +0000 (0:00:00.406)       0:07:17.058 *********",
                                "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.",
                                "fatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:01.865)       0:07:18.924 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.044)       0:07:18.968 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.039)       0:07:19.007 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.042)       0:07:19.050 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.046)       0:07:19.096 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.052)       0:07:19.148 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.239)       0:07:19.388 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:09:53 +0000 (0:00:00.049)       0:07:19.438 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:09:54 +0000 (0:00:00.848)       0:07:20.287 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:09:54 +0000 (0:00:00.051)       0:07:20.338 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:09:54 +0000 (0:00:00.243)       0:07:20.581 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:09:54 +0000 (0:00:00.050)       0:07:20.632 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:09:55 +0000 (0:00:00.780)       0:07:21.412 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 07 April 2026  09:09:55 +0000 (0:00:00.053)       0:07:21.465 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 07 April 2026  09:09:55 +0000 (0:00:00.038)       0:07:21.504 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 07 April 2026  09:09:55 +0000 (0:00:00.039)       0:07:21.543 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 07 April 2026  09:09:55 +0000 (0:00:00.040)       0:07:21.584 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 07 April 2026  09:09:57 +0000 (0:00:01.392)       0:07:22.977 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 07 April 2026  09:09:57 +0000 (0:00:00.435)       0:07:23.412 *********",
                                "ok: [instance] => (item={'path': '/etc/containerd'})",
                                "ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Tuesday 07 April 2026  09:09:58 +0000 (0:00:01.090)       0:07:24.503 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 07 April 2026  09:09:59 +0000 (0:00:00.484)       0:07:24.987 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 07 April 2026  09:09:59 +0000 (0:00:00.006)       0:07:24.994 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:09:59 +0000 (0:00:00.372)       0:07:25.367 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:09:59 +0000 (0:00:00.263)       0:07:25.631 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:09:59 +0000 (0:00:00.084)       0:07:25.715 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:10:00 +0000 (0:00:00.706)       0:07:26.421 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:10:02 +0000 (0:00:01.438)       0:07:27.860 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/critest-v1.34.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:10:02 +0000 (0:00:00.074)       0:07:27.935 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:10:02 +0000 (0:00:00.669)       0:07:28.605 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Tuesday 07 April 2026  09:10:04 +0000 (0:00:01.404)       0:07:30.009 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Tuesday 07 April 2026  09:10:04 +0000 (0:00:00.420)       0:07:30.430 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:10:04 +0000 (0:00:00.249)       0:07:30.679 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:10:05 +0000 (0:00:00.239)       0:07:30.918 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.8.0/cni-plugins-linux-amd64-v1.8.0.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:10:05 +0000 (0:00:00.060)       0:07:30.979 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:10:06 +0000 (0:00:00.935)       0:07:31.914 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Tuesday 07 April 2026  09:10:08 +0000 (0:00:02.671)       0:07:34.586 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********",
                                "Tuesday 07 April 2026  09:10:08 +0000 (0:00:00.048)       0:07:34.635 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Tuesday 07 April 2026  09:10:10 +0000 (0:00:01.395)       0:07:36.030 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Tuesday 07 April 2026  09:10:10 +0000 (0:00:00.238)       0:07:36.269 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Tuesday 07 April 2026  09:10:10 +0000 (0:00:00.380)       0:07:36.649 *********",
                                "changed: [instance] => (item=br_netfilter)",
                                "ok: [instance] => (item=ip_tables)",
                                "changed: [instance] => (item=ip6_tables)",
                                "ok: [instance] => (item=nf_conntrack)",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 07 April 2026  09:10:11 +0000 (0:00:00.855)       0:07:37.505 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 07 April 2026  09:10:11 +0000 (0:00:00.237)       0:07:37.743 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 07 April 2026  09:10:11 +0000 (0:00:00.042)       0:07:37.785 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 07 April 2026  09:10:14 +0000 (0:00:02.744)       0:07:40.529 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Tuesday 07 April 2026  09:10:14 +0000 (0:00:00.037)       0:07:40.567 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Tuesday 07 April 2026  09:10:14 +0000 (0:00:00.052)       0:07:40.619 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Tuesday 07 April 2026  09:10:14 +0000 (0:00:00.031)       0:07:40.651 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Tuesday 07 April 2026  09:10:19 +0000 (0:00:04.231)       0:07:44.883 *********",
                                "changed: [instance] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})",
                                "changed: [instance] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})",
                                "changed: [instance] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})",
                                "changed: [instance] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})",
                                "changed: [instance] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***",
                                "Tuesday 07 April 2026  09:10:20 +0000 (0:00:01.448)       0:07:46.332 *********",
                                "changed: [instance] => (item=/etc/systemd/system/kubelet.service.d)",
                                "ok: [instance] => (item=/etc/kubernetes)",
                                "ok: [instance] => (item=/etc/kubernetes/manifests)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********",
                                "Tuesday 07 April 2026  09:10:21 +0000 (0:00:00.609)       0:07:46.941 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Tuesday 07 April 2026  09:10:21 +0000 (0:00:00.407)       0:07:47.349 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Tuesday 07 April 2026  09:10:21 +0000 (0:00:00.438)       0:07:47.787 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Tuesday 07 April 2026  09:10:22 +0000 (0:00:00.266)       0:07:48.054 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Tuesday 07 April 2026  09:10:22 +0000 (0:00:00.037)       0:07:48.091 *********",
                                "ok: [instance] => (item=swap)",
                                "ok: [instance] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Tuesday 07 April 2026  09:10:22 +0000 (0:00:00.517)       0:07:48.609 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Tuesday 07 April 2026  09:10:23 +0000 (0:00:00.398)       0:07:49.007 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Tuesday 07 April 2026  09:10:23 +0000 (0:00:00.654)       0:07:49.662 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Tuesday 07 April 2026  09:10:23 +0000 (0:00:00.007)       0:07:49.669 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Tuesday 07 April 2026  09:10:24 +0000 (0:00:00.789)       0:07:50.459 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Tuesday 07 April 2026  09:10:25 +0000 (0:00:00.590)       0:07:51.050 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Tuesday 07 April 2026  09:10:26 +0000 (0:00:01.286)       0:07:52.336 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Tuesday 07 April 2026  09:10:27 +0000 (0:00:00.747)       0:07:53.084 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Tuesday 07 April 2026  09:10:27 +0000 (0:00:00.254)       0:07:53.339 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.910)       0:07:54.250 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.082)       0:07:54.332 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.077)       0:07:54.410 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.249)       0:07:54.660 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.042)       0:07:54.703 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.057)       0:07:54.760 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"instance\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Tuesday 07 April 2026  09:10:28 +0000 (0:00:00.043)       0:07:54.804 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.486)       0:07:55.291 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.042)       0:07:55.333 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.037)       0:07:55.371 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.035)       0:07:55.406 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.038)       0:07:55.445 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.039)       0:07:55.484 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.036)       0:07:55.521 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Tuesday 07 April 2026  09:10:29 +0000 (0:00:00.040)       0:07:55.561 *********",
                                "fatal: [instance]: FAILED! => {\"changed\": true, \"cmd\": \"kubeadm init --config /etc/kubernetes/kubeadm.yaml --upload-certs  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests\\n\", \"delta\": \"0:04:31.102138\", \"end\": \"2026-04-07 09:15:01.027781\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-07 09:10:29.925643\", \"stderr\": \"W0407 09:10:29.964417   45441 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0407 09:10:29.964417   45441 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\\n[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\\n[certs] Generating \\\"ca\\\" certificate and key\\n[certs] Generating \\\"apiserver\\\" certificate and key\\n[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.157 10.96.240.10]\\n[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\\n[certs] Generating \\\"front-proxy-ca\\\" certificate and key\\n[certs] Generating \\\"front-proxy-client\\\" certificate and key\\n[certs] Generating \\\"etcd/ca\\\" certificate and key\\n[certs] Generating \\\"etcd/server\\\" certificate and key\\n[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/peer\\\" certificate and key\\n[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\\n[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\\n[certs] Generating \\\"sa\\\" key and public key\\n[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\\n[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\\n[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\\n[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\\n[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\\n[kubelet-start] Starting the kubelet\\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\\n[kubelet-check] Initial timeout of 40s passed.\\n\\nUnfortunately, an error has occurred:\\n\\ttimed out waiting for the condition\\n\\nThis error is likely caused by:\\n\\t- The kubelet is not running\\n\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\\n\\nIf you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\\n\\t- 'systemctl status kubelet'\\n\\t- 'journalctl -xeu kubelet'\\n\\nAdditionally, a control plane component may have crashed or exited when started by the container runtime.\\nTo troubleshoot, list all containers using your preferred container runtimes CLI.\\nHere is one example how you may list all running Kubernetes containers by using crictl:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\\n\\tOnce you have found the failing container, you can inspect its logs with:\\n\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\", \"[certs] Generating \\\"ca\\\" certificate and key\", \"[certs] Generating \\\"apiserver\\\" certificate and key\", \"[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.157 10.96.240.10]\", \"[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-ca\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-client\\\" certificate and key\", \"[certs] Generating \\\"etcd/ca\\\" certificate and key\", \"[certs] Generating \\\"etcd/server\\\" certificate and key\", \"[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/peer\\\" certificate and key\", \"[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.157 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\", \"[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\", \"[certs] Generating \\\"sa\\\" key and public key\", \"[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\", \"[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\", \"[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\", \"[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\", \"[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\", \"[kubelet-start] Starting the kubelet\", \"[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\", \"[kubelet-check] Initial timeout of 40s passed.\", \"\", \"Unfortunately, an error has occurred:\", \"\\ttimed out waiting for the condition\", \"\", \"This error is likely caused by:\", \"\\t- The kubelet is not running\", \"\\t- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)\", \"\", \"If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:\", \"\\t- 'systemctl status kubelet'\", \"\\t- 'journalctl -xeu kubelet'\", \"\", \"Additionally, a control plane component may have crashed or exited when started by the container runtime.\", \"To troubleshoot, list all containers using your preferred container runtimes CLI.\", \"Here is one example how you may list all running Kubernetes containers by using crictl:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'\", \"\\tOnce you have found the failing container, you can inspect its logs with:\", \"\\t- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'\"]}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=199  changed=54   unreachable=0    failed=1    skipped=54   rescued=0    ignored=2",
                                "",
                                "Tuesday 07 April 2026  09:15:01 +0000 (0:04:31.369)       0:12:26.930 *********",
                                "===============================================================================",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster ------------------- 271.37s",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 173.49s",
                                "vexxhost.ceph.osd : Install OSDs -------------------------------------- 111.57s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.33s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.52s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 6.80s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.44s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 5.44s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 5.39s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.36s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.55s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 4.23s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 3.80s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.21s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.14s",
                                "vexxhost.containers.docker : Restart docker ----------------------------- 3.10s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 2.74s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.67s",
                                "vexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 2.59s",
                                "vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.40s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "ERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0011-b798-de48-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:01.610431Z",
                            "start": "2026-04-07T08:59:43.972781Z"
                        },
                        "id": "0242ac17-0011-b798-de48-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-07T09:15:12.548290Z",
                    "start": "2026-04-07T09:15:02.439936Z"
                },
                "id": "0242ac17-0011-9de0-583f-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-9de0-583f-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:02.833122Z",
                            "start": "2026-04-07T09:15:02.455906Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.111185",
                            "end": "2026-04-07 09:15:03.302285",
                            "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-9de0-583f-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:03.191100",
                            "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-9de0-583f-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:03.376695Z",
                            "start": "2026-04-07T09:15:02.859294Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/tmp/logs/system /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.157:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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-9de0-583f-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:03.992557Z",
                            "start": "2026-04-07T09:15:03.383212Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:04.371847Z",
                            "start": "2026-04-07T09:15:04.004247Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.072271",
                            "end": "2026-04-07 09:15:04.674815",
                            "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-9de0-583f-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:04.602544",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0407 09:15:04.663921   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:04.665599   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:04.666425   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:04.668989   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:04.669727   46424 memcache.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": [
                                "E0407 09:15:04.663921   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:04.665599   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:04.666425   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:04.668989   46424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:04.669727   46424 memcache.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-9de0-583f-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:04.920786Z",
                            "start": "2026-04-07T09:15:04.401002Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/tmp/logs/helm /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.157:/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-9de0-583f-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:05.439484Z",
                            "start": "2026-04-07T09:15:04.927063Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:05.670258Z",
                            "start": "2026-04-07T09:15:05.449266Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.213720",
                            "end": "2026-04-07 09:15:06.123866",
                            "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-9de0-583f-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:05.910146",
                            "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\nE0407 09:15:05.984401   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.985699   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.986652   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.987496   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.988774   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.989280   46482 memcache.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?\nE0407 09:15:05.989742   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.991541   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.992743   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:05.993302   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0407 09:15:06.048197   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.049321   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.050264   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.051891   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.052349   46515 memcache.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?\nE0407 09:15:06.059255   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.060259   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.062472   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0407 09:15:06.063181   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.064831   46522 memcache.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?\nE0407 09:15:06.110785   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.112087   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.112755   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.114847   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.115315   46549 memcache.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",
                                "E0407 09:15:05.984401   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.985699   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.986652   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.987496   46482 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.988774   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.989280   46482 memcache.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?",
                                "E0407 09:15:05.989742   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.991541   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.992743   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:05.993302   46480 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0407 09:15:06.048197   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.049321   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.050264   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.051891   46515 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.052349   46515 memcache.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?",
                                "E0407 09:15:06.059255   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.060259   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.062472   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0407 09:15:06.063181   46522 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.064831   46522 memcache.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?",
                                "E0407 09:15:06.110785   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.112087   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.112755   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.114847   46549 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.115315   46549 memcache.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-9de0-583f-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:06.247363Z",
                            "start": "2026-04-07T09:15:05.728087Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:06.472815Z",
                            "start": "2026-04-07T09:15:06.254008Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.074828",
                            "end": "2026-04-07 09:15:06.768380",
                            "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-9de0-583f-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:06.693552",
                            "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\nE0407 09:15:06.756846   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.757723   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.759593   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.760332   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:06.762145   46586 memcache.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",
                                "E0407 09:15:06.756846   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.757723   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.759593   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.760332   46586 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:06.762145   46586 memcache.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-9de0-583f-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:07.016778Z",
                            "start": "2026-04-07T09:15:06.496608Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/tmp/logs/objects /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.157:/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-9de0-583f-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:07.499719Z",
                            "start": "2026-04-07T09:15:07.022005Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:07.706338Z",
                            "start": "2026-04-07T09:15:07.508988Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:07.927972Z",
                            "start": "2026-04-07T09:15:07.713103Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.080711",
                            "end": "2026-04-07 09:15:08.212567",
                            "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-9de0-583f-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:08.131856",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0407 09:15:08.197559   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:08.198347   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:08.200567   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:08.201322   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:08.203115   46644 memcache.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": [
                                "E0407 09:15:08.197559   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:08.198347   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:08.200567   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:08.201322   46644 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:08.203115   46644 memcache.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-9de0-583f-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:08.469581Z",
                            "start": "2026-04-07T09:15:07.951394Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/tmp/logs/pod-logs /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.157:/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-9de0-583f-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:08.960710Z",
                            "start": "2026-04-07T09:15:08.476082Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:09.169133Z",
                            "start": "2026-04-07T09:15:08.970549Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.081720",
                            "end": "2026-04-07 09:15:09.473211",
                            "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-9de0-583f-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:09.391491",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0407 09:15:09.461533   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.462856   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.463619   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.465368   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.466071   46691 memcache.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": [
                                "E0407 09:15:09.461533   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.462856   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.463619   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.465368   46691 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.466071   46691 memcache.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-9de0-583f-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:09.711273Z",
                            "start": "2026-04-07T09:15:09.192861Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.072542",
                            "end": "2026-04-07 09:15:09.992655",
                            "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-9de0-583f-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:09.920113",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0407 09:15:09.982340   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.983832   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.984896   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.985641   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:09.987310   46718 memcache.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": [
                                "E0407 09:15:09.982340   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.983832   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.984896   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.985641   46718 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:09.987310   46718 memcache.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-9de0-583f-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:10.255126Z",
                            "start": "2026-04-07T09:15:09.735635Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.074345",
                            "end": "2026-04-07 09:15:10.540796",
                            "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-9de0-583f-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-07 09:15:10.466451",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0407 09:15:10.528140   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:10.530066   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:10.530719   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:10.532598   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0407 09:15:10.533165   46747 memcache.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": [
                                "E0407 09:15:10.528140   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:10.530066   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:10.530719   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:10.532598   46747 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0407 09:15:10.533165   46747 memcache.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-9de0-583f-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:10.797866Z",
                            "start": "2026-04-07T09:15:10.278473Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/tmp/logs/prometheus /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.157:/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-9de0-583f-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:11.287462Z",
                            "start": "2026-04-07T09:15:10.804043Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-9de0-583f-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:11.531821Z",
                            "start": "2026-04-07T09:15:11.297503Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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.006671",
                            "end": "2026-04-07 09:15:11.737923",
                            "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-9de0-583f-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-07 09:15:11.731252",
                            "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-9de0-583f-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-9de0-583f-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:12.071879Z",
                            "start": "2026-04-07T09:15:11.554202Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/tmp/logs/selenium /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.157:/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-9de0-583f-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:12.548290Z",
                            "start": "2026-04-07T09:15:12.076635Z"
                        },
                        "id": "0242ac17-0011-9de0-583f-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-07T09:15:16.427349Z",
                    "start": "2026-04-07T09:15:13.337544Z"
                },
                "id": "0242ac17-0011-2dfe-301d-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-2dfe-301d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:13.394793Z",
                            "start": "2026-04-07T09:15:13.348943Z"
                        },
                        "id": "0242ac17-0011-2dfe-301d-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2dfe-301d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:13.446095Z",
                            "start": "2026-04-07T09:15:13.401375Z"
                        },
                        "id": "0242ac17-0011-2dfe-301d-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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2dfe-301d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:14.255570Z",
                            "start": "2026-04-07T09:15:13.450617Z"
                        },
                        "id": "0242ac17-0011-2dfe-301d-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.157:/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.157:/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.157:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.157:/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2dfe-301d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:15.787822Z",
                            "start": "2026-04-07T09:15:14.264485Z"
                        },
                        "id": "0242ac17-0011-2dfe-301d-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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts/* /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008572",
                                    "end": "2026-04-07 09:15:16.166825",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/artifacts/* /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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-07 09:15:16.158253",
                                    "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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs/* /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007897",
                                    "end": "2026-04-07 09:15:16.385186",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/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/5d9a0027f08843d5a7d946c5aaa0fefd/work/docs/* /var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/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-07 09:15:16.377289",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2dfe-301d-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:16.427349Z",
                            "start": "2026-04-07T09:15:15.800995Z"
                        },
                        "id": "0242ac17-0011-2dfe-301d-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-07T09:15:16.881973Z",
                    "start": "2026-04-07T09:15:16.436875Z"
                },
                "id": "0242ac17-0011-2dfe-301d-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCR6jGo2yr4HsTUuQU/2XdkqD7JSK9thbFqME6KTvHd66gRShnJ94NBzpYJGFZmQBJ21rGCEM5tUcEiShozmPnDU1FOuUnRoyDwQknD+FA5bhCOZ1qRW1Pc27hcefT72JDwXxGLauc4vWk+oR7DnMKFyc3KpCG/z1dR0cEvQm50asrc2S1gK3qDFgR8Qn/A1BgQaiQhlDepFJAkwoVsxoK7aEFcuaEdkq3XYsrm2JY5+ZnssCT0H/NzeJyj5Hcc5NXDnOwhss16L1ww+QUnQjVYRf2DpoheX+fZoNLQ3fuQ5Br3ESUaCQgh7S9+By9z0fRwLWiPafy+aLZB+ciy3KOY6m3ikfVwLGmRBeiLYByk6b9E5jg0di1AoZ59SKpQcuqDe6smBNhPhmMlSEjdtQfZXfWh2e47cGjT+iOG1m5uAuURZb1sRLBdL54k6UZNRX0+a33V3/gRxm90GCQqLeSEGC/XsOIsj9F5ZS7+xeha9Hir0WyqEgrFjJ3ueEBs3b8= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCR6jGo2yr4HsTUuQU/2XdkqD7JSK9thbFqME6KTvHd66gRShnJ94NBzpYJGFZmQBJ21rGCEM5tUcEiShozmPnDU1FOuUnRoyDwQknD+FA5bhCOZ1qRW1Pc27hcefT72JDwXxGLauc4vWk+oR7DnMKFyc3KpCG/z1dR0cEvQm50asrc2S1gK3qDFgR8Qn/A1BgQaiQhlDepFJAkwoVsxoK7aEFcuaEdkq3XYsrm2JY5+ZnssCT0H/NzeJyj5Hcc5NXDnOwhss16L1ww+QUnQjVYRf2DpoheX+fZoNLQ3fuQ5Br3ESUaCQgh7S9+By9z0fRwLWiPafy+aLZB+ciy3KOY6m3ikfVwLGmRBeiLYByk6b9E5jg0di1AoZ59SKpQcuqDe6smBNhPhmMlSEjdtQfZXfWh2e47cGjT+iOG1m5uAuURZb1sRLBdL54k6UZNRX0+a33V3/gRxm90GCQqLeSEGC/XsOIsj9F5ZS7+xeha9Hir0WyqEgrFjJ3ueEBs3b8= 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-2dfe-301d-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/5d9a0027f08843d5a7d946c5aaa0fefd/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-07T09:15:16.881973Z",
                            "start": "2026-04-07T09:15:16.443537Z"
                        },
                        "id": "0242ac17-0011-2dfe-301d-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
}
]
