[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-21T19:14:48.852202Z",
                    "start": "2026-04-21T19:14:46.249981Z"
                },
                "id": "0242ac17-0011-2f3b-c5ca-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-21",
                                    "day": "21",
                                    "epoch": "1776798887",
                                    "epoch_int": "1776798887",
                                    "hour": "19",
                                    "iso8601": "2026-04-21T19:14:47Z",
                                    "iso8601_basic": "20260421T191447081849",
                                    "iso8601_basic_short": "20260421T191447",
                                    "iso8601_micro": "2026-04-21T19:14:47.081849Z",
                                    "minute": "14",
                                    "month": "04",
                                    "second": "47",
                                    "time": "19:14:47",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Tuesday",
                                    "weekday_number": "2",
                                    "weeknumber": "16",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.11"
                                    ],
                                    "options": {
                                        "edns0": true,
                                        "ndots": "0",
                                        "trust-ad": true
                                    },
                                    "search": [
                                        "openstacklocal"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 0,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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": "3594601",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-1KWTQQ36Z8RI/agent.3594600",
                                    "TMP": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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": 3.31005859375,
                                    "1m": 5.01025390625,
                                    "5m": 3.861328125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 4044,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 15024,
                                        "used": 17066
                                    },
                                    "real": {
                                        "free": 4044,
                                        "total": 32090,
                                        "used": 28046
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 180788920,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 83151797,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 55869184,
                                        "inode_total": 67108864,
                                        "inode_used": 11239680,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 740511416320,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8574819,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32026761,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16185411,
                                        "inode_total": 20643840,
                                        "inode_used": 4458429,
                                        "mount": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35122458624,
                                        "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": 40462616,
                                "ansible_user_dir": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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-21T19:14:47.147311Z",
                            "start": "2026-04-21T19:14:46.257864Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:47.178857Z",
                            "start": "2026-04-21T19:14:47.154093Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "f9a/oss/f9a7f103235d4f20b25d6e4c8ed342c9"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:47.222704Z",
                            "start": "2026-04-21T19:14:47.190763Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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/3734\nEvent ID: 3e461ac0-3db6-11f1-94f8-1f46f89ba7e6\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:47.275447Z",
                            "start": "2026-04-21T19:14:47.232467Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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: np0000168938\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.35\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:47.377465Z",
                            "start": "2026-04-21T19:14:47.279797Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:47.974296Z",
                            "start": "2026-04-21T19:14:47.387550Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "5706fea1004cc2440615d06c0d449cd179807215",
                            "dest": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "5706fea1004cc2440615d06c0d449cd179807215",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/.ansible/tmp/ansible-tmp-1776798888.0127156-84-20966414487010/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a6f95ed03fe3102df5f7a36bbf2c51f2",
                            "mode": "0644",
                            "owner": "root",
                            "size": 42643,
                            "src": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/.ansible/tmp/ansible-tmp-1776798888.0127156-84-20966414487010/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:48.852202Z",
                            "start": "2026-04-21T19:14:47.980355Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-21T19:14:57.378121Z",
                    "start": "2026-04-21T19:14:48.863953Z"
                },
                "id": "0242ac17-0011-2f3b-c5ca-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/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:49.104475Z",
                            "start": "2026-04-21T19:14:48.872345Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:49.148118Z",
                            "start": "2026-04-21T19:14:49.113479Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.591371",
                            "end": "2026-04-21 19:14:51.121581",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_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-2f3b-c5ca-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:14:49.530210",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa.pub\nThe key fingerprint is:\nSHA256:qk+DbdzxSG8xQiKHfwT3pgCPhkhvz2GS2KEATEjpkNM zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|O*... . .        |\n|B+E.o= o .       |\n|++.*=o= o o      |\n| ...=+.= o       |\n|     o. S o      |\n|     + = * o     |\n|    . B o +      |\n|     + . .       |\n|    ...          |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:qk+DbdzxSG8xQiKHfwT3pgCPhkhvz2GS2KEATEjpkNM zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|O*... . .        |",
                                "|B+E.o= o .       |",
                                "|++.*=o= o o      |",
                                "| ...=+.= o       |",
                                "|     o. S o      |",
                                "|     + = * o     |",
                                "|    . B o +      |",
                                "|     + . .       |",
                                "|    ...          |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-2f3b-c5ca-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:51.164999Z",
                            "start": "2026-04-21T19:14:49.170376Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:51.204212Z",
                            "start": "2026-04-21T19:14:51.169728Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:51.243514Z",
                            "start": "2026-04-21T19:14:51.219454Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC9+qakDuBpyA80X2NbqPqnVQKyjcZuC76BKRokjqXNIyMyxo7XwmP2+sIK4zp1ptmnEkbqpX4nwKhx7wX5iTEXP1keIlptW7CuBHDr4JV4J078+XlHNrwvXjXniwG9GW4Kkd7ZJ9Uj7DG107BdfBLv1AgjiIQSDLlMDiE4RHOOj1Aa8VfHgLSuvW3Qs+k1WCg0bg/ud0pOt8tS8xRkqg877eyHPviboOOATqObY7CMrHCBomH/LJMX5JNNC7Eq49gninmn68ppcD8ScTZlX54rdKzMrVLyInGtrkgXtMG0ozLHweqQwgBP09XafzQltUG9B/ACx1lAu1v6y5T9zx1bPA2NLFYTAtxG6e/3FPQFEn6c6NP00x06HFhmBHweBO1jRH7RtfBj2RBa+A/QBDoiWRH3318J3WCLISYU46pFoHqIJxWPjfJtVd1OXGJXjXgRjyv9out5jirD9b/FIEVv/F8khl1igIEg6iP+5OHePOwQHGCw3FpWoK7UBAnbBYs= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC9+qakDuBpyA80X2NbqPqnVQKyjcZuC76BKRokjqXNIyMyxo7XwmP2+sIK4zp1ptmnEkbqpX4nwKhx7wX5iTEXP1keIlptW7CuBHDr4JV4J078+XlHNrwvXjXniwG9GW4Kkd7ZJ9Uj7DG107BdfBLv1AgjiIQSDLlMDiE4RHOOj1Aa8VfHgLSuvW3Qs+k1WCg0bg/ud0pOt8tS8xRkqg877eyHPviboOOATqObY7CMrHCBomH/LJMX5JNNC7Eq49gninmn68ppcD8ScTZlX54rdKzMrVLyInGtrkgXtMG0ozLHweqQwgBP09XafzQltUG9B/ACx1lAu1v6y5T9zx1bPA2NLFYTAtxG6e/3FPQFEn6c6NP00x06HFhmBHweBO1jRH7RtfBj2RBa+A/QBDoiWRH3318J3WCLISYU46pFoHqIJxWPjfJtVd1OXGJXjXgRjyv9out5jirD9b/FIEVv/F8khl1igIEg6iP+5OHePOwQHGCw3FpWoK7UBAnbBYs= 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-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:51.728017Z",
                            "start": "2026-04-21T19:14:51.253348Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:51.940087Z",
                            "start": "2026-04-21T19:14:51.733012Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "9e42027af0489c58dc6e7de859eacc6ea80b79e5",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "9e42027af0489c58dc6e7de859eacc6ea80b79e5",
                                    "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-1776798891.994497-190-235702912235083/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "2c5e963b116f0a86ccad2a41e89ea86d",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776798891.994497-190-235702912235083/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:52.428276Z",
                            "start": "2026-04-21T19:14:51.947039Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "6b9ac96a6e7cacaf4058838e1d2f1c960fc4a2f6",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "6b9ac96a6e7cacaf4058838e1d2f1c960fc4a2f6",
                                    "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-1776798892.479485-200-213125639321928/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "28a9d26f9684182fffd6814158376ec2",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776798892.479485-200-213125639321928/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:52.922164Z",
                            "start": "2026-04-21T19:14:52.434834Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:52.952903Z",
                            "start": "2026-04-21T19:14:52.928511Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:53.352360Z",
                            "start": "2026-04-21T19:14:52.963018Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa"
                            ],
                            "delta": "0:00:00.013702",
                            "end": "2026-04-21 19:14:53.667785",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_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-2f3b-c5ca-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:14:53.654083",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/f9a7f103235d4f20b25d6e4c8ed342c9_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-2f3b-c5ca-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:53.719202Z",
                            "start": "2026-04-21T19:14:53.412431Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:53.993225Z",
                            "start": "2026-04-21T19:14:53.725627Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:54.034179Z",
                            "start": "2026-04-21T19:14:53.999004Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:54.337545Z",
                            "start": "2026-04-21T19:14:54.051070Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:56.251527Z",
                            "start": "2026-04-21T19:14:54.562380Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:56.812217Z",
                            "start": "2026-04-21T19:14:56.267799Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-2f3b-c5ca-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:14:57.378121Z",
                            "start": "2026-04-21T19:14:56.822762Z"
                        },
                        "id": "0242ac17-0011-2f3b-c5ca-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-21T19:15:01.127994Z",
                    "start": "2026-04-21T19:14:58.172697Z"
                },
                "id": "0242ac17-0011-c07f-ff4f-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-1776798898.2264893-5-213720150595018/uv-x86_64-unknown-linux-gnuw64lhkwt.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-1776798898.2264893-5-213720150595018/uv-x86_64-unknown-linux-gnuw64lhkwt.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c07f-ff4f-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:15:00.499214Z",
                            "start": "2026-04-21T19:14:58.184639Z"
                        },
                        "id": "0242ac17-0011-c07f-ff4f-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.012697",
                            "end": "2026-04-21 19:15:00.933376",
                            "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-c07f-ff4f-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:15:00.920679",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-c07f-ff4f-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c07f-ff4f-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:15:01.127994Z",
                            "start": "2026-04-21T19:15:00.527093Z"
                        },
                        "id": "0242ac17-0011-c07f-ff4f-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2023.1",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-21T19:15:11.704339Z",
                    "start": "2026-04-21T19:15:01.977213Z"
                },
                "id": "0242ac17-0011-95a6-dc88-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1776798907,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 2 not upgraded.\nNeed to get 357 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]\nFetched 357 kB in 0s (2596 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 30923 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.1) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSetting up jq (1.6-2.1ubuntu3.1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 2 not upgraded.",
                                "Need to get 357 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]",
                                "Fetched 357 kB in 0s (2596 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 30923 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.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-21T19:15:11.704339Z",
                            "start": "2026-04-21T19:15:01.989034Z"
                        },
                        "id": "0242ac17-0011-95a6-dc88-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-21T19:23:45.478632Z",
                    "start": "2026-04-21T19:15:12.457252Z"
                },
                "id": "0242ac17-0011-5dd3-3484-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "5706fea1004cc2440615d06c0d449cd179807215",
                            "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": "5706fea1004cc2440615d06c0d449cd179807215",
                                    "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-1776798912.5111032-5-256077921322198/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a6f95ed03fe3102df5f7a36bbf2c51f2",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 42643,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776798912.5111032-5-256077921322198/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:15:13.304249Z",
                            "start": "2026-04-21T19:15:12.469830Z"
                        },
                        "id": "0242ac17-0011-5dd3-3484-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-21T19:15:13.685470Z",
                            "start": "2026-04-21T19:15:13.309080Z"
                        },
                        "id": "0242ac17-0011-5dd3-3484-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:08:31.346912",
                            "end": "2026-04-21 19:23:45.421881",
                            "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-5dd3-3484-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-04-21 19:15:14.074969",
                            "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 rjsonnet (1.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading setuptools (1.1MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading netaddr (2.2MiB)\nDownloading pygments (1.2MiB)\nDownloading cryptography (4.2MiB)\nDownloading kubernetes (1.9MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading netaddr\n Downloading pygments\n Downloading cryptography\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 79 packages in 36ms\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 21 April 2026  19:16:14 +0000 (0:00:00.027)       0:00:00.027 *********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nTuesday 21 April 2026  19:16:16 +0000 (0:00:01.167)       0:00:01.194 *********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nTuesday 21 April 2026  19:16:16 +0000 (0:00:00.700)       0:00:01.895 *********\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created\nwith a mode of 0700, this may cause issues when running as another user. To\navoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [instance]\n\nTASK [Install \"dirmngr\" for GPG keyserver operations] **************************\nTuesday 21 April 2026  19:16:17 +0000 (0:00:00.275)       0:00:02.170 *********\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nTuesday 21 April 2026  19:16:18 +0000 (0:00:01.175)       0:00:03.346 *********\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nTuesday 21 April 2026  19:16:18 +0000 (0:00:00.679)       0:00:04.026 *********\nchanged: [localhost] => (item=group_vars)\nchanged: [localhost] => (item=group_vars/all)\nchanged: [localhost] => (item=group_vars/controllers)\nchanged: [localhost] => (item=group_vars/cephs)\nchanged: [localhost] => (item=group_vars/computes)\nchanged: [localhost] => (item=host_vars)\n\nPLAY [Generate Ceph control plane configuration for workspace] *****************\n\nTASK [Ensure the Ceph control plane configuration file exists] *****************\nTuesday 21 April 2026  19:16:20 +0000 (0:00:01.096)       0:00:05.122 *********\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nTuesday 21 April 2026  19:16:20 +0000 (0:00:00.183)       0:00:05.305 *********\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nTuesday 21 April 2026  19:16:20 +0000 (0:00:00.024)       0:00:05.330 *********\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': '56fe2f3c-ff07-5b0e-99d0-f464332b0cf1'})\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 21 April 2026  19:16:20 +0000 (0:00:00.053)       0:00:05.383 *********\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nTuesday 21 April 2026  19:16:20 +0000 (0:00:00.572)       0:00:05.956 *********\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nTuesday 21 April 2026  19:16:21 +0000 (0:00:00.179)       0:00:06.136 *********\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nTuesday 21 April 2026  19:16:21 +0000 (0:00:00.025)       0:00:06.162 *********\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 21 April 2026  19:16:21 +0000 (0:00:00.031)       0:00:06.193 *********\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nTuesday 21 April 2026  19:16:21 +0000 (0:00:00.398)       0:00:06.592 *********\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nTuesday 21 April 2026  19:16:21 +0000 (0:00:00.191)       0:00:06.784 *********\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nTuesday 21 April 2026  19:16:21 +0000 (0:00:00.025)       0:00:06.809 *********\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 21 April 2026  19:16:21 +0000 (0:00:00.043)       0:00:06.853 *********\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nTuesday 21 April 2026  19:16:22 +0000 (0:00:00.367)       0:00:07.220 *********\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nTuesday 21 April 2026  19:16:22 +0000 (0:00:00.177)       0:00:07.398 *********\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nTuesday 21 April 2026  19:16:22 +0000 (0:00:00.028)       0:00:07.427 *********\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 21 April 2026  19:16:22 +0000 (0:00:00.039)       0:00:07.466 *********\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:16:22 +0000 (0:00:00.363)       0:00:07.830 *********\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nTuesday 21 April 2026  19:16:23 +0000 (0:00:00.685)       0:00:08.516 *********\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nTuesday 21 April 2026  19:16:23 +0000 (0:00:00.186)       0:00:08.703 *********\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nTuesday 21 April 2026  19:16:23 +0000 (0:00:00.030)       0:00:08.733 *********\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_senlin_api_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 21 April 2026  19:16:24 +0000 (0:00:00.811)       0:00:09.544 *********\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nTuesday 21 April 2026  19:16:24 +0000 (0:00:00.374)       0:00:09.919 *********\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nTuesday 21 April 2026  19:16:24 +0000 (0:00:00.186)       0:00:10.105 *********\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nTuesday 21 April 2026  19:16:25 +0000 (0:00:00.182)       0:00:10.287 *********\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nTuesday 21 April 2026  19:16:25 +0000 (0:00:00.030)       0:00:10.318 *********\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 21 April 2026  19:16:25 +0000 (0:00:00.041)       0:00:10.359 *********\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nTuesday 21 April 2026  19:16:25 +0000 (0:00:00.368)       0:00:10.728 *********\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nTuesday 21 April 2026  19:16:25 +0000 (0:00:00.184)       0:00:10.912 *********\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nTuesday 21 April 2026  19:16:25 +0000 (0:00:00.033)       0:00:10.946 *********\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 21 April 2026  19:16:25 +0000 (0:00:00.039)       0:00:10.986 *********\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nTuesday 21 April 2026  19:16:26 +0000 (0:00:00.368)       0:00:11.354 *********\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nTuesday 21 April 2026  19:16:26 +0000 (0:00:00.191)       0:00:11.546 *********\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nTuesday 21 April 2026  19:16:26 +0000 (0:00:00.030)       0:00:11.577 *********\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_senlin_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_senlin_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_senlin_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 21 April 2026  19:16:26 +0000 (0:00:00.446)       0:00:12.023 *********\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nTuesday 21 April 2026  19:16:26 +0000 (0:00:00.059)       0:00:12.083 *********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nTuesday 21 April 2026  19:16:27 +0000 (0:00:00.421)       0:00:12.504 *********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nTuesday 21 April 2026  19:16:29 +0000 (0:00:02.029)       0:00:14.533 *********\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nTuesday 21 April 2026  19:16:29 +0000 (0:00:00.059)       0:00:14.593 *********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nTuesday 21 April 2026  19:16:29 +0000 (0:00:00.367)       0:00:14.960 *********\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nTuesday 21 April 2026  19:16:30 +0000 (0:00:00.364)       0:00:15.325 *********\nskipping: [localhost]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:16:30 +0000 (0:00:00.036)       0:00:15.361 *********\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nTuesday 21 April 2026  19:16:30 +0000 (0:00:00.709)       0:00:16.071 *********\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nTuesday 21 April 2026  19:16:31 +0000 (0:00:00.359)       0:00:16.430 *********\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nTuesday 21 April 2026  19:16:31 +0000 (0:00:00.209)       0:00:16.640 *********\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nTuesday 21 April 2026  19:16:31 +0000 (0:00:00.202)       0:00:16.843 *********\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nTuesday 21 April 2026  19:16:31 +0000 (0:00:00.192)       0:00:17.036 *********\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:16:32 +0000 (0:00:00.401)       0:00:17.437 *********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nTuesday 21 April 2026  19:16:33 +0000 (0:00:00.734)       0:00:18.171 *********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nTuesday 21 April 2026  19:16:57 +0000 (0:00:24.553)       0:00:42.725 *********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nTuesday 21 April 2026  19:16:58 +0000 (0:00:00.580)       0:00:43.305 *********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nTuesday 21 April 2026  19:16:58 +0000 (0:00:00.240)       0:00:43.546 *********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nTuesday 21 April 2026  19:16:58 +0000 (0:00:00.467)       0:00:44.013 *********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nTuesday 21 April 2026  19:16:59 +0000 (0:00:00.200)       0:00:44.214 *********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nTuesday 21 April 2026  19:16:59 +0000 (0:00:00.031)       0:00:44.246 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nTuesday 21 April 2026  19:16:59 +0000 (0:00:00.605)       0:00:44.851 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nTuesday 21 April 2026  19:17:00 +0000 (0:00:00.556)       0:00:45.408 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nTuesday 21 April 2026  19:17:01 +0000 (0:00:00.802)       0:00:46.211 *********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nTuesday 21 April 2026  19:17:04 +0000 (0:00:03.069)       0:00:49.280 *********\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 21 April 2026  19:17:06 +0000 (0:00:01.908)       0:00:51.189 *********\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nTuesday 21 April 2026  19:17:06 +0000 (0:00:00.897)       0:00:52.086 *********\nchanged: [instance]\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\nlocalhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nTuesday 21 April 2026  19:17:07 +0000 (0:00:00.493)       0:00:52.580 *********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 24.55s\nCreate a volume group for each loop device ------------------------------ 3.07s\nGenerate SSH keys for missing variables --------------------------------- 2.03s\nCreate a logical volume for each loop device ---------------------------- 1.91s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.18s\nGathering Facts --------------------------------------------------------- 1.17s\nCreate folders for workspace -------------------------------------------- 1.10s\nGathering Facts --------------------------------------------------------- 0.90s\nGenerate endpoint skeleton for missing variables ------------------------ 0.81s\nStart loop devices ------------------------------------------------------ 0.80s\nGathering Facts --------------------------------------------------------- 0.73s\nGathering Facts --------------------------------------------------------- 0.71s\nConfigure short hostname ------------------------------------------------ 0.70s\nGathering Facts --------------------------------------------------------- 0.69s\nPurge \"snapd\" package --------------------------------------------------- 0.68s\nCreate devices for Ceph ------------------------------------------------- 0.61s\nStart up service -------------------------------------------------------- 0.58s\nWrite new Ceph control plane configuration file to disk ----------------- 0.57s\nSet permissions on loopback devices ------------------------------------- 0.56s\nSet masquerade rule ----------------------------------------------------- 0.49s\nINFO     [aio > prepare] Executed: Successful\nINFO     [aio > converge] Executing\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:17:10 +0000 (0:00:00.018)       0:00:00.018 *********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 21 April 2026  19:17:11 +0000 (0:00:01.299)       0:00:01.317 *********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:17:12 +0000 (0:00:00.198)       0:00:01.515 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:17:12 +0000 (0:00:00.953)       0:00:02.469 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:17:13 +0000 (0:00:00.295)       0:00:02.765 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 21 April 2026  19:17:13 +0000 (0:00:00.050)       0:00:02.816 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:17:13 +0000 (0:00:00.315)       0:00:03.131 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:17:13 +0000 (0:00:00.078)       0:00:03.209 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:17:14 +0000 (0:00:00.650)       0:00:03.860 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:17:14 +0000 (0:00:00.067)       0:00:03.928 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:17:14 +0000 (0:00:00.061)       0:00:03.989 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:17:14 +0000 (0:00:00.226)       0:00:04.216 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:17:16 +0000 (0:00:01.379)       0:00:05.596 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:17:16 +0000 (0:00:00.077)       0:00:05.673 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:17:17 +0000 (0:00:00.826)       0:00:06.500 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 21 April 2026  19:17:20 +0000 (0:00:03.166)       0:00:09.667 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 21 April 2026  19:17:20 +0000 (0:00:00.033)       0:00:09.701 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 21 April 2026  19:17:20 +0000 (0:00:00.032)       0:00:09.733 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 21 April 2026  19:17:20 +0000 (0:00:00.035)       0:00:09.769 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 21 April 2026  19:17:25 +0000 (0:00:05.627)       0:00:15.396 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 21 April 2026  19:17:26 +0000 (0:00:00.615)       0:00:16.011 *********\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 21 April 2026  19:17:27 +0000 (0:00:00.978)       0:00:16.990 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 21 April 2026  19:17:28 +0000 (0:00:00.605)       0:00:17.596 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 21 April 2026  19:17:28 +0000 (0:00:00.008)       0:00:17.605 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nTuesday 21 April 2026  19:17:29 +0000 (0:00:00.992)       0:00:18.597 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 21 April 2026  19:17:29 +0000 (0:00:00.470)       0:00:19.068 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:17:30 +0000 (0:00:00.539)       0:00:19.608 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:17:30 +0000 (0:00:00.231)       0:00:19.840 *********\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 21 April 2026  19:17:30 +0000 (0:00:00.056)       0:00:19.896 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:17:31 +0000 (0:00:00.865)       0:00:20.762 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 21 April 2026  19:17:35 +0000 (0:00:04.438)       0:00:25.201 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 21 April 2026  19:17:36 +0000 (0:00:01.012)       0:00:26.213 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 21 April 2026  19:17:37 +0000 (0:00:00.936)       0:00:27.150 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 21 April 2026  19:17:38 +0000 (0:00:00.485)       0:00:27.635 *********\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 21 April 2026  19:17:38 +0000 (0:00:00.612)       0:00:28.247 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 21 April 2026  19:17:39 +0000 (0:00:00.473)       0:00:28.721 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 21 April 2026  19:17:39 +0000 (0:00:00.471)       0:00:29.193 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nTuesday 21 April 2026  19:17:39 +0000 (0:00:00.008)       0:00:29.201 *********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nTuesday 21 April 2026  19:17:40 +0000 (0:00:00.669)       0:00:29.871 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 21 April 2026  19:17:42 +0000 (0:00:01.724)       0:00:31.596 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 21 April 2026  19:17:42 +0000 (0:00:00.579)       0:00:32.176 *********\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 21 April 2026  19:17:42 +0000 (0:00:00.063)       0:00:32.239 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 21 April 2026  19:17:48 +0000 (0:00:05.829)       0:00:38.069 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 21 April 2026  19:17:49 +0000 (0:00:00.661)       0:00:38.730 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 21 April 2026  19:17:49 +0000 (0:00:00.291)       0:00:39.022 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 21 April 2026  19:17:49 +0000 (0:00:00.196)       0:00:39.218 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 21 April 2026  19:17:50 +0000 (0:00:00.483)       0:00:39.702 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\nTuesday 21 April 2026  19:17:50 +0000 (0:00:00.432)       0:00:40.134 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:01.737)       0:00:41.872 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.061)       0:00:41.934 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.042)       0:00:41.976 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.042)       0:00:42.019 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.042)       0:00:42.061 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.040)       0:00:42.101 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.040)       0:00:42.141 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.041)       0:00:42.182 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.037)       0:00:42.220 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nTuesday 21 April 2026  19:17:52 +0000 (0:00:00.122)       0:00:42.342 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nTuesday 21 April 2026  19:17:53 +0000 (0:00:00.226)       0:00:42.568 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nTuesday 21 April 2026  19:17:53 +0000 (0:00:00.054)       0:00:42.623 *********\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 21 April 2026  19:17:53 +0000 (0:00:00.086)       0:00:42.709 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nTuesday 21 April 2026  19:17:53 +0000 (0:00:00.369)       0:00:43.079 *********\nchanged: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\nchanged: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\nchanged: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\n\nTASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\nTuesday 21 April 2026  19:17:54 +0000 (0:00:00.758)       0:00:43.838 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nTuesday 21 April 2026  19:20:06 +0000 (0:02:11.939)       0:02:55.777 *********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nTuesday 21 April 2026  19:20:06 +0000 (0:00:00.216)       0:02:55.993 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 21 April 2026  19:20:06 +0000 (0:00:00.046)       0:02:56.039 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 21 April 2026  19:20:06 +0000 (0:00:00.082)       0:02:56.122 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 21 April 2026  19:20:08 +0000 (0:00:01.626)       0:02:57.748 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 21 April 2026  19:20:08 +0000 (0:00:00.074)       0:02:57.823 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 21 April 2026  19:20:08 +0000 (0:00:00.450)       0:02:58.273 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nTuesday 21 April 2026  19:20:10 +0000 (0:00:02.054)       0:03:00.328 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nTuesday 21 April 2026  19:20:12 +0000 (0:00:01.639)       0:03:01.967 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 21 April 2026  19:20:23 +0000 (0:00:11.194)       0:03:13.162 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 21 April 2026  19:20:23 +0000 (0:00:00.076)       0:03:13.238 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 21 April 2026  19:20:23 +0000 (0:00:00.055)       0:03:13.294 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 21 April 2026  19:20:23 +0000 (0:00:00.062)       0:03:13.356 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 21 April 2026  19:20:24 +0000 (0:00:00.262)       0:03:13.618 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nTuesday 21 April 2026  19:20:26 +0000 (0:00:02.002)       0:03:15.621 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nTuesday 21 April 2026  19:20:27 +0000 (0:00:01.648)       0:03:17.269 *********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\nTuesday 21 April 2026  19:20:29 +0000 (0:00:01.567)       0:03:18.836 *********\nok: [instance]\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:20:31 +0000 (0:00:02.197)       0:03:21.034 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:20:32 +0000 (0:00:00.891)       0:03:21.925 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:20:32 +0000 (0:00:00.208)       0:03:22.133 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 21 April 2026  19:20:32 +0000 (0:00:00.038)       0:03:22.171 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:20:32 +0000 (0:00:00.213)       0:03:22.385 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:20:32 +0000 (0:00:00.057)       0:03:22.442 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:20:33 +0000 (0:00:00.314)       0:03:22.757 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:20:33 +0000 (0:00:00.050)       0:03:22.807 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:20:33 +0000 (0:00:00.046)       0:03:22.854 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:20:33 +0000 (0:00:00.219)       0:03:23.073 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:20:34 +0000 (0:00:01.056)       0:03:24.130 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:20:34 +0000 (0:00:00.068)       0:03:24.199 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:20:35 +0000 (0:00:00.351)       0:03:24.550 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 21 April 2026  19:20:37 +0000 (0:00:01.975)       0:03:26.526 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 21 April 2026  19:20:37 +0000 (0:00:00.032)       0:03:26.558 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 21 April 2026  19:20:37 +0000 (0:00:00.034)       0:03:26.593 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 21 April 2026  19:20:37 +0000 (0:00:00.033)       0:03:26.626 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 21 April 2026  19:20:38 +0000 (0:00:01.051)       0:03:27.677 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 21 April 2026  19:20:38 +0000 (0:00:00.424)       0:03:28.102 *********\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 21 April 2026  19:20:39 +0000 (0:00:00.870)       0:03:28.972 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 21 April 2026  19:20:39 +0000 (0:00:00.508)       0:03:29.481 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 21 April 2026  19:20:39 +0000 (0:00:00.006)       0:03:29.488 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:20:40 +0000 (0:00:00.353)       0:03:29.842 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:20:40 +0000 (0:00:00.205)       0:03:30.047 *********\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 21 April 2026  19:20:40 +0000 (0:00:00.055)       0:03:30.103 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:20:40 +0000 (0:00:00.349)       0:03:30.453 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nTuesday 21 April 2026  19:20:44 +0000 (0:00:03.052)       0:03:33.505 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nTuesday 21 April 2026  19:20:44 +0000 (0:00:00.983)       0:03:34.488 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nTuesday 21 April 2026  19:20:45 +0000 (0:00:00.194)       0:03:34.683 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nTuesday 21 April 2026  19:20:45 +0000 (0:00:00.444)       0:03:35.127 *********\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 21 April 2026  19:20:46 +0000 (0:00:00.575)       0:03:35.703 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nTuesday 21 April 2026  19:20:46 +0000 (0:00:00.436)       0:03:36.140 *********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nTuesday 21 April 2026  19:20:47 +0000 (0:00:00.467)       0:03:36.607 *********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nTuesday 21 April 2026  19:20:47 +0000 (0:00:00.006)       0:03:36.614 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nTuesday 21 April 2026  19:20:47 +0000 (0:00:00.392)       0:03:37.006 *********\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 21 April 2026  19:20:47 +0000 (0:00:00.059)       0:03:37.066 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nTuesday 21 April 2026  19:20:49 +0000 (0:00:01.432)       0:03:38.498 *********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nTuesday 21 April 2026  19:20:49 +0000 (0:00:00.683)       0:03:39.182 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nTuesday 21 April 2026  19:20:49 +0000 (0:00:00.280)       0:03:39.462 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nTuesday 21 April 2026  19:20:50 +0000 (0:00:00.216)       0:03:39.678 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nTuesday 21 April 2026  19:20:50 +0000 (0:00:00.240)       0:03:39.918 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nTuesday 21 April 2026  19:20:50 +0000 (0:00:00.216)       0:03:40.135 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nTuesday 21 April 2026  19:20:50 +0000 (0:00:00.263)       0:03:40.398 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\nTuesday 21 April 2026  19:20:50 +0000 (0:00:00.057)       0:03:40.456 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\nTuesday 21 April 2026  19:20:56 +0000 (0:00:05.289)       0:03:45.745 *********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nTuesday 21 April 2026  19:20:56 +0000 (0:00:00.050)       0:03:45.796 *********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nTuesday 21 April 2026  19:20:56 +0000 (0:00:00.066)       0:03:45.862 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nTuesday 21 April 2026  19:20:56 +0000 (0:00:00.040)       0:03:45.902 *********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nTuesday 21 April 2026  19:20:56 +0000 (0:00:00.050)       0:03:45.953 *********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nTuesday 21 April 2026  19:20:56 +0000 (0:00:00.262)       0:03:46.215 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\nTuesday 21 April 2026  19:20:58 +0000 (0:00:02.014)       0:03:48.230 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\nTuesday 21 April 2026  19:20:58 +0000 (0:00:00.022)       0:03:48.252 *********\nskipping: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nTuesday 21 April 2026  19:20:58 +0000 (0:00:00.025)       0:03:48.278 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nTuesday 21 April 2026  19:21:04 +0000 (0:00:05.310)       0:03:53.588 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nTuesday 21 April 2026  19:21:14 +0000 (0:00:10.339)       0:04:03.927 *********\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 21 April 2026  19:22:43 +0000 (0:01:29.040)       0:05:32.968 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nTuesday 21 April 2026  19:22:45 +0000 (0:00:01.889)       0:05:34.857 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nTuesday 21 April 2026  19:22:46 +0000 (0:00:01.612)       0:05:36.470 *********\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 21 April 2026  19:22:47 +0000 (0:00:00.066)       0:05:36.537 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nTuesday 21 April 2026  19:22:47 +0000 (0:00:00.053)       0:05:36.590 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nTuesday 21 April 2026  19:22:48 +0000 (0:00:01.702)       0:05:38.292 *********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nTuesday 21 April 2026  19:22:48 +0000 (0:00:00.051)       0:05:38.344 *********\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 21 April 2026  19:22:48 +0000 (0:00:00.048)       0:05:38.393 *********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nTuesday 21 April 2026  19:22:48 +0000 (0:00:00.051)       0:05:38.444 *********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:22:49 +0000 (0:00:00.404)       0:05:38.849 *********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nTuesday 21 April 2026  19:22:50 +0000 (0:00:00.994)       0:05:39.843 *********\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 21 April 2026  19:22:54 +0000 (0:00:03.886)       0:05:43.730 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nTuesday 21 April 2026  19:22:54 +0000 (0:00:00.191)       0:05:43.921 *********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nTuesday 21 April 2026  19:22:54 +0000 (0:00:00.449)       0:05:44.371 *********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nTuesday 21 April 2026  19:22:55 +0000 (0:00:00.245)       0:05:44.617 *********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:22:55 +0000 (0:00:00.053)       0:05:44.670 *********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nTuesday 21 April 2026  19:22:56 +0000 (0:00:00.956)       0:05:45.627 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nTuesday 21 April 2026  19:22:56 +0000 (0:00:00.207)       0:05:45.834 *********\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 21 April 2026  19:22:57 +0000 (0:00:00.875)       0:05:46.710 *********\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 21 April 2026  19:22:57 +0000 (0:00:00.511)       0:05:47.221 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nTuesday 21 April 2026  19:22:57 +0000 (0:00:00.190)       0:05:47.412 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nTuesday 21 April 2026  19:22:58 +0000 (0:00:00.192)       0:05:47.604 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nTuesday 21 April 2026  19:22:58 +0000 (0:00:00.036)       0:05:47.640 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nTuesday 21 April 2026  19:22:58 +0000 (0:00:00.042)       0:05:47.683 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nTuesday 21 April 2026  19:22:58 +0000 (0:00:00.515)       0:05:48.198 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nTuesday 21 April 2026  19:22:58 +0000 (0:00:00.184)       0:05:48.382 *********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nTuesday 21 April 2026  19:22:58 +0000 (0:00:00.055)       0:05:48.438 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:22:59 +0000 (0:00:00.954)       0:05:49.393 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.202)       0:05:49.595 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.037)       0:05:49.633 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.205)       0:05:49.838 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.051)       0:05:49.890 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.302)       0:05:50.192 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.048)       0:05:50.240 *********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nTuesday 21 April 2026  19:23:00 +0000 (0:00:00.197)       0:05:50.438 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:01 +0000 (0:00:01.011)       0:05:51.449 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:23:02 +0000 (0:00:00.069)       0:05:51.519 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:02 +0000 (0:00:00.335)       0:05:51.855 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 21 April 2026  19:23:04 +0000 (0:00:01.954)       0:05:53.809 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 21 April 2026  19:23:04 +0000 (0:00:00.031)       0:05:53.841 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 21 April 2026  19:23:04 +0000 (0:00:00.035)       0:05:53.876 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 21 April 2026  19:23:04 +0000 (0:00:00.036)       0:05:53.913 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 21 April 2026  19:23:05 +0000 (0:00:01.003)       0:05:54.917 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 21 April 2026  19:23:05 +0000 (0:00:00.420)       0:05:55.337 *********\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 21 April 2026  19:23:06 +0000 (0:00:00.905)       0:05:56.243 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 21 April 2026  19:23:07 +0000 (0:00:00.505)       0:05:56.748 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 21 April 2026  19:23:07 +0000 (0:00:00.006)       0:05:56.755 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nTuesday 21 April 2026  19:23:07 +0000 (0:00:00.355)       0:05:57.110 *********\nfatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.582)       0:05:57.693 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.033)       0:05:57.726 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.034)       0:05:57.760 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.031)       0:05:57.792 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.041)       0:05:57.834 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.038)       0:05:57.872 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:08 +0000 (0:00:00.201)       0:05:58.074 *********\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 21 April 2026  19:23:08 +0000 (0:00:00.044)       0:05:58.119 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:09 +0000 (0:00:01.066)       0:05:59.185 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:23:09 +0000 (0:00:00.042)       0:05:59.228 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:09 +0000 (0:00:00.202)       0:05:59.430 *********\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 21 April 2026  19:23:09 +0000 (0:00:00.046)       0:05:59.477 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:10 +0000 (0:00:00.730)       0:06:00.208 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nTuesday 21 April 2026  19:23:10 +0000 (0:00:00.047)       0:06:00.255 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nTuesday 21 April 2026  19:23:10 +0000 (0:00:00.028)       0:06:00.284 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nTuesday 21 April 2026  19:23:10 +0000 (0:00:00.027)       0:06:00.312 *********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nTuesday 21 April 2026  19:23:10 +0000 (0:00:00.033)       0:06:00.345 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nTuesday 21 April 2026  19:23:11 +0000 (0:00:01.048)       0:06:01.394 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nTuesday 21 April 2026  19:23:12 +0000 (0:00:00.424)       0:06:01.819 *********\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 21 April 2026  19:23:13 +0000 (0:00:00.879)       0:06:02.699 *********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nTuesday 21 April 2026  19:23:13 +0000 (0:00:00.512)       0:06:03.211 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nTuesday 21 April 2026  19:23:13 +0000 (0:00:00.006)       0:06:03.218 *********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:23:14 +0000 (0:00:00.355)       0:06:03.573 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:14 +0000 (0:00:00.206)       0:06:03.779 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:23:14 +0000 (0:00:00.057)       0:06:03.837 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:15 +0000 (0:00:00.979)       0:06:04.816 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:16 +0000 (0:00:01.350)       0:06:06.167 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:23:16 +0000 (0:00:00.052)       0:06:06.219 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:17 +0000 (0:00:00.561)       0:06:06.780 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nTuesday 21 April 2026  19:23:18 +0000 (0:00:01.381)       0:06:08.162 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nTuesday 21 April 2026  19:23:19 +0000 (0:00:00.459)       0:06:08.622 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nTuesday 21 April 2026  19:23:19 +0000 (0:00:00.208)       0:06:08.830 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:19 +0000 (0:00:00.205)       0:06:09.036 *********\nok: [instance] => {\n    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nTuesday 21 April 2026  19:23:19 +0000 (0:00:00.054)       0:06:09.091 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:20 +0000 (0:00:00.793)       0:06:09.884 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nTuesday 21 April 2026  19:23:23 +0000 (0:00:02.628)       0:06:12.512 *********\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 21 April 2026  19:23:23 +0000 (0:00:00.064)       0:06:12.576 *********\nok: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nTuesday 21 April 2026  19:23:24 +0000 (0:00:00.998)       0:06:13.575 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nTuesday 21 April 2026  19:23:24 +0000 (0:00:00.194)       0:06:13.769 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nTuesday 21 April 2026  19:23:24 +0000 (0:00:00.464)       0:06:14.234 *********\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 21 April 2026  19:23:25 +0000 (0:00:00.734)       0:06:14.968 *********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nTuesday 21 April 2026  19:23:25 +0000 (0:00:00.207)       0:06:15.175 *********\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 21 April 2026  19:23:25 +0000 (0:00:00.048)       0:06:15.223 *********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nTuesday 21 April 2026  19:23:27 +0000 (0:00:01.600)       0:06:16.824 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nTuesday 21 April 2026  19:23:27 +0000 (0:00:00.043)       0:06:16.868 *********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nTuesday 21 April 2026  19:23:27 +0000 (0:00:00.065)       0:06:16.934 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nTuesday 21 April 2026  19:23:27 +0000 (0:00:00.039)       0:06:16.973 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nTuesday 21 April 2026  19:23:31 +0000 (0:00:04.011)       0:06:20.985 *********\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 21 April 2026  19:23:32 +0000 (0:00:01.296)       0:06:22.281 *********\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 21 April 2026  19:23:33 +0000 (0:00:00.537)       0:06:22.819 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nTuesday 21 April 2026  19:23:33 +0000 (0:00:00.469)       0:06:23.288 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nTuesday 21 April 2026  19:23:34 +0000 (0:00:00.470)       0:06:23.759 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nTuesday 21 April 2026  19:23:34 +0000 (0:00:00.202)       0:06:23.961 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nTuesday 21 April 2026  19:23:34 +0000 (0:00:00.038)       0:06:24.000 *********\nok: [instance] => (item=swap)\nok: [instance] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nTuesday 21 April 2026  19:23:35 +0000 (0:00:00.536)       0:06:24.537 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nTuesday 21 April 2026  19:23:35 +0000 (0:00:00.464)       0:06:25.002 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nTuesday 21 April 2026  19:23:36 +0000 (0:00:00.579)       0:06:25.582 *********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nTuesday 21 April 2026  19:23:36 +0000 (0:00:00.010)       0:06:25.592 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nTuesday 21 April 2026  19:23:36 +0000 (0:00:00.757)       0:06:26.349 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nTuesday 21 April 2026  19:23:37 +0000 (0:00:00.581)       0:06:26.931 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nTuesday 21 April 2026  19:23:38 +0000 (0:00:01.019)       0:06:27.950 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nTuesday 21 April 2026  19:23:39 +0000 (0:00:00.714)       0:06:28.665 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nTuesday 21 April 2026  19:23:39 +0000 (0:00:00.204)       0:06:28.869 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nTuesday 21 April 2026  19:23:39 +0000 (0:00:00.510)       0:06:29.379 *********\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 21 April 2026  19:23:39 +0000 (0:00:00.079)       0:06:29.459 *********\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 21 April 2026  19:23:40 +0000 (0:00:00.073)       0:06:29.532 *********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.211)       0:06:29.744 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.046)       0:06:29.790 *********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.048)       0:06:29.838 *********\nok: [instance] => {\n    \"msg\": \"instance\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.042)       0:06:29.881 *********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.532)       0:06:30.413 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.039)       0:06:30.453 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nTuesday 21 April 2026  19:23:40 +0000 (0:00:00.036)       0:06:30.489 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nTuesday 21 April 2026  19:23:41 +0000 (0:00:00.036)       0:06:30.526 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nTuesday 21 April 2026  19:23:41 +0000 (0:00:00.038)       0:06:30.564 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nTuesday 21 April 2026  19:23:41 +0000 (0:00:00.036)       0:06:30.601 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nTuesday 21 April 2026  19:23:41 +0000 (0:00:00.037)       0:06:30.638 *********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nTuesday 21 April 2026  19:23:41 +0000 (0:00:00.029)       0:06:30.667 *********\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:00:03.559682\", \"end\": \"2026-04-21 19:23:44.895772\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-21 19:23:41.336090\", \"stderr\": \"W0421 19:23:41.372014   39136 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase preflight: [preflight] Some fatal errors occurred:\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0421 19:23:41.984421   39243 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:41Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0421 19:23:42.601005   39326 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:42Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0421 19:23:43.025889   39408 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0421 19:23:43.523372   39486 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0421 19:23:43.992867   39581 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\\ntime=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0421 19:23:44.435896   39651 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\\ntime=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0421 19:23:44.888238   39728 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\\ntime=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\"\\n, error: exit status 1\\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0421 19:23:41.372014   39136 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase preflight: [preflight] Some fatal errors occurred:\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0421 19:23:41.984421   39243 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:41Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0421 19:23:42.601005   39326 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:42Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0421 19:23:43.025889   39408 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0421 19:23:43.523372   39486 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0421 19:23:43.992867   39581 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\", \"time=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0421 19:23:44.435896   39651 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\", \"time=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0421 19:23:44.888238   39728 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\", \"time=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\"\", \", error: exit status 1\", \"[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\", \"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'\", \"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'\"]}\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=199  changed=54   unreachable=0    failed=1    skipped=53   rescued=0    ignored=2\n\nTuesday 21 April 2026  19:23:44 +0000 (0:00:03.754)       0:06:34.422 *********\n===============================================================================\nvexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 131.94s\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 89.04s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.19s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.34s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 5.83s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 5.63s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.31s\nvexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.29s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.44s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 4.01s\nvexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.89s\nvexxhost.kubernetes.kubernetes : Initialize cluster --------------------- 3.75s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.17s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.05s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.63s\nvexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.20s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.05s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.01s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.00s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.98s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /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 --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /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 rjsonnet (1.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading cryptography",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 79 packages in 36ms",
                                "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 21 April 2026  19:16:14 +0000 (0:00:00.027)       0:00:00.027 *********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Tuesday 21 April 2026  19:16:16 +0000 (0:00:01.167)       0:00:01.194 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Tuesday 21 April 2026  19:16:16 +0000 (0:00:00.700)       0:00:01.895 *********",
                                "[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created",
                                "with a mode of 0700, this may cause issues when running as another user. To",
                                "avoid this, create the remote_tmp dir with the correct permissions manually",
                                "changed: [instance]",
                                "",
                                "TASK [Install \"dirmngr\" for GPG keyserver operations] **************************",
                                "Tuesday 21 April 2026  19:16:17 +0000 (0:00:00.275)       0:00:02.170 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Tuesday 21 April 2026  19:16:18 +0000 (0:00:01.175)       0:00:03.346 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Tuesday 21 April 2026  19:16:18 +0000 (0:00:00.679)       0:00:04.026 *********",
                                "changed: [localhost] => (item=group_vars)",
                                "changed: [localhost] => (item=group_vars/all)",
                                "changed: [localhost] => (item=group_vars/controllers)",
                                "changed: [localhost] => (item=group_vars/cephs)",
                                "changed: [localhost] => (item=group_vars/computes)",
                                "changed: [localhost] => (item=host_vars)",
                                "",
                                "PLAY [Generate Ceph control plane configuration for workspace] *****************",
                                "",
                                "TASK [Ensure the Ceph control plane configuration file exists] *****************",
                                "Tuesday 21 April 2026  19:16:20 +0000 (0:00:01.096)       0:00:05.122 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Tuesday 21 April 2026  19:16:20 +0000 (0:00:00.183)       0:00:05.305 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Tuesday 21 April 2026  19:16:20 +0000 (0:00:00.024)       0:00:05.330 *********",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': '56fe2f3c-ff07-5b0e-99d0-f464332b0cf1'})",
                                "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 21 April 2026  19:16:20 +0000 (0:00:00.053)       0:00:05.383 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Tuesday 21 April 2026  19:16:20 +0000 (0:00:00.572)       0:00:05.956 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Tuesday 21 April 2026  19:16:21 +0000 (0:00:00.179)       0:00:06.136 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Tuesday 21 April 2026  19:16:21 +0000 (0:00:00.025)       0:00:06.162 *********",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Tuesday 21 April 2026  19:16:21 +0000 (0:00:00.031)       0:00:06.193 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Tuesday 21 April 2026  19:16:21 +0000 (0:00:00.398)       0:00:06.592 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Tuesday 21 April 2026  19:16:21 +0000 (0:00:00.191)       0:00:06.784 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Tuesday 21 April 2026  19:16:21 +0000 (0:00:00.025)       0:00:06.809 *********",
                                "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 21 April 2026  19:16:21 +0000 (0:00:00.043)       0:00:06.853 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Tuesday 21 April 2026  19:16:22 +0000 (0:00:00.367)       0:00:07.220 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Tuesday 21 April 2026  19:16:22 +0000 (0:00:00.177)       0:00:07.398 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Tuesday 21 April 2026  19:16:22 +0000 (0:00:00.028)       0:00:07.427 *********",
                                "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 21 April 2026  19:16:22 +0000 (0:00:00.039)       0:00:07.466 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:16:22 +0000 (0:00:00.363)       0:00:07.830 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Tuesday 21 April 2026  19:16:23 +0000 (0:00:00.685)       0:00:08.516 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Tuesday 21 April 2026  19:16:23 +0000 (0:00:00.186)       0:00:08.703 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Tuesday 21 April 2026  19:16:23 +0000 (0:00:00.030)       0:00:08.733 *********",
                                "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_senlin_api_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 21 April 2026  19:16:24 +0000 (0:00:00.811)       0:00:09.544 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Tuesday 21 April 2026  19:16:24 +0000 (0:00:00.374)       0:00:09.919 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Tuesday 21 April 2026  19:16:24 +0000 (0:00:00.186)       0:00:10.105 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Tuesday 21 April 2026  19:16:25 +0000 (0:00:00.182)       0:00:10.287 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Tuesday 21 April 2026  19:16:25 +0000 (0:00:00.030)       0:00:10.318 *********",
                                "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 21 April 2026  19:16:25 +0000 (0:00:00.041)       0:00:10.359 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Tuesday 21 April 2026  19:16:25 +0000 (0:00:00.368)       0:00:10.728 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Tuesday 21 April 2026  19:16:25 +0000 (0:00:00.184)       0:00:10.912 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Tuesday 21 April 2026  19:16:25 +0000 (0:00:00.033)       0:00:10.946 *********",
                                "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 21 April 2026  19:16:25 +0000 (0:00:00.039)       0:00:10.986 *********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Tuesday 21 April 2026  19:16:26 +0000 (0:00:00.368)       0:00:11.354 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Tuesday 21 April 2026  19:16:26 +0000 (0:00:00.191)       0:00:11.546 *********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Tuesday 21 April 2026  19:16:26 +0000 (0:00:00.030)       0:00:11.577 *********",
                                "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_senlin_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_senlin_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_senlin_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 21 April 2026  19:16:26 +0000 (0:00:00.446)       0:00:12.023 *********",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Tuesday 21 April 2026  19:16:26 +0000 (0:00:00.059)       0:00:12.083 *********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Tuesday 21 April 2026  19:16:27 +0000 (0:00:00.421)       0:00:12.504 *********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Tuesday 21 April 2026  19:16:29 +0000 (0:00:02.029)       0:00:14.533 *********",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Tuesday 21 April 2026  19:16:29 +0000 (0:00:00.059)       0:00:14.593 *********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Tuesday 21 April 2026  19:16:29 +0000 (0:00:00.367)       0:00:14.960 *********",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Tuesday 21 April 2026  19:16:30 +0000 (0:00:00.364)       0:00:15.325 *********",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:16:30 +0000 (0:00:00.036)       0:00:15.361 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Tuesday 21 April 2026  19:16:30 +0000 (0:00:00.709)       0:00:16.071 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Tuesday 21 April 2026  19:16:31 +0000 (0:00:00.359)       0:00:16.430 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Tuesday 21 April 2026  19:16:31 +0000 (0:00:00.209)       0:00:16.640 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Tuesday 21 April 2026  19:16:31 +0000 (0:00:00.202)       0:00:16.843 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Tuesday 21 April 2026  19:16:31 +0000 (0:00:00.192)       0:00:17.036 *********",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:16:32 +0000 (0:00:00.401)       0:00:17.437 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Tuesday 21 April 2026  19:16:33 +0000 (0:00:00.734)       0:00:18.171 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Tuesday 21 April 2026  19:16:57 +0000 (0:00:24.553)       0:00:42.725 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Tuesday 21 April 2026  19:16:58 +0000 (0:00:00.580)       0:00:43.305 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Tuesday 21 April 2026  19:16:58 +0000 (0:00:00.240)       0:00:43.546 *********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Tuesday 21 April 2026  19:16:58 +0000 (0:00:00.467)       0:00:44.013 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Tuesday 21 April 2026  19:16:59 +0000 (0:00:00.200)       0:00:44.214 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Tuesday 21 April 2026  19:16:59 +0000 (0:00:00.031)       0:00:44.246 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Tuesday 21 April 2026  19:16:59 +0000 (0:00:00.605)       0:00:44.851 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Tuesday 21 April 2026  19:17:00 +0000 (0:00:00.556)       0:00:45.408 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Tuesday 21 April 2026  19:17:01 +0000 (0:00:00.802)       0:00:46.211 *********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Tuesday 21 April 2026  19:17:04 +0000 (0:00:03.069)       0:00:49.280 *********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:17:06 +0000 (0:00:01.908)       0:00:51.189 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Tuesday 21 April 2026  19:17:06 +0000 (0:00:00.897)       0:00:52.086 *********",
                                "changed: [instance]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "localhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Tuesday 21 April 2026  19:17:07 +0000 (0:00:00.493)       0:00:52.580 *********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 24.55s",
                                "Create a volume group for each loop device ------------------------------ 3.07s",
                                "Generate SSH keys for missing variables --------------------------------- 2.03s",
                                "Create a logical volume for each loop device ---------------------------- 1.91s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.18s",
                                "Gathering Facts --------------------------------------------------------- 1.17s",
                                "Create folders for workspace -------------------------------------------- 1.10s",
                                "Gathering Facts --------------------------------------------------------- 0.90s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.81s",
                                "Start loop devices ------------------------------------------------------ 0.80s",
                                "Gathering Facts --------------------------------------------------------- 0.73s",
                                "Gathering Facts --------------------------------------------------------- 0.71s",
                                "Configure short hostname ------------------------------------------------ 0.70s",
                                "Gathering Facts --------------------------------------------------------- 0.69s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.68s",
                                "Create devices for Ceph ------------------------------------------------- 0.61s",
                                "Start up service -------------------------------------------------------- 0.58s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.57s",
                                "Set permissions on loopback devices ------------------------------------- 0.56s",
                                "Set masquerade rule ----------------------------------------------------- 0.49s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     [aio > converge] Executing",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:17:10 +0000 (0:00:00.018)       0:00:00.018 *********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 21 April 2026  19:17:11 +0000 (0:00:01.299)       0:00:01.317 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:17:12 +0000 (0:00:00.198)       0:00:01.515 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:17:12 +0000 (0:00:00.953)       0:00:02.469 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:17:13 +0000 (0:00:00.295)       0:00:02.765 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 21 April 2026  19:17:13 +0000 (0:00:00.050)       0:00:02.816 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:17:13 +0000 (0:00:00.315)       0:00:03.131 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:17:13 +0000 (0:00:00.078)       0:00:03.209 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:17:14 +0000 (0:00:00.650)       0:00:03.860 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:17:14 +0000 (0:00:00.067)       0:00:03.928 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:17:14 +0000 (0:00:00.061)       0:00:03.989 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:17:14 +0000 (0:00:00.226)       0:00:04.216 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:17:16 +0000 (0:00:01.379)       0:00:05.596 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:17:16 +0000 (0:00:00.077)       0:00:05.673 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:17:17 +0000 (0:00:00.826)       0:00:06.500 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 21 April 2026  19:17:20 +0000 (0:00:03.166)       0:00:09.667 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 21 April 2026  19:17:20 +0000 (0:00:00.033)       0:00:09.701 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 21 April 2026  19:17:20 +0000 (0:00:00.032)       0:00:09.733 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 21 April 2026  19:17:20 +0000 (0:00:00.035)       0:00:09.769 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 21 April 2026  19:17:25 +0000 (0:00:05.627)       0:00:15.396 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 21 April 2026  19:17:26 +0000 (0:00:00.615)       0:00:16.011 *********",
                                "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 21 April 2026  19:17:27 +0000 (0:00:00.978)       0:00:16.990 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 21 April 2026  19:17:28 +0000 (0:00:00.605)       0:00:17.596 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 21 April 2026  19:17:28 +0000 (0:00:00.008)       0:00:17.605 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Tuesday 21 April 2026  19:17:29 +0000 (0:00:00.992)       0:00:18.597 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 21 April 2026  19:17:29 +0000 (0:00:00.470)       0:00:19.068 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:17:30 +0000 (0:00:00.539)       0:00:19.608 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:17:30 +0000 (0:00:00.231)       0:00:19.840 *********",
                                "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 21 April 2026  19:17:30 +0000 (0:00:00.056)       0:00:19.896 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:17:31 +0000 (0:00:00.865)       0:00:20.762 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 21 April 2026  19:17:35 +0000 (0:00:04.438)       0:00:25.201 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 21 April 2026  19:17:36 +0000 (0:00:01.012)       0:00:26.213 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 21 April 2026  19:17:37 +0000 (0:00:00.936)       0:00:27.150 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 21 April 2026  19:17:38 +0000 (0:00:00.485)       0:00:27.635 *********",
                                "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 21 April 2026  19:17:38 +0000 (0:00:00.612)       0:00:28.247 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 21 April 2026  19:17:39 +0000 (0:00:00.473)       0:00:28.721 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 21 April 2026  19:17:39 +0000 (0:00:00.471)       0:00:29.193 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Tuesday 21 April 2026  19:17:39 +0000 (0:00:00.008)       0:00:29.201 *********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Tuesday 21 April 2026  19:17:40 +0000 (0:00:00.669)       0:00:29.871 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 21 April 2026  19:17:42 +0000 (0:00:01.724)       0:00:31.596 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 21 April 2026  19:17:42 +0000 (0:00:00.579)       0:00:32.176 *********",
                                "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 21 April 2026  19:17:42 +0000 (0:00:00.063)       0:00:32.239 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 21 April 2026  19:17:48 +0000 (0:00:05.829)       0:00:38.069 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 21 April 2026  19:17:49 +0000 (0:00:00.661)       0:00:38.730 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 21 April 2026  19:17:49 +0000 (0:00:00.291)       0:00:39.022 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 21 April 2026  19:17:49 +0000 (0:00:00.196)       0:00:39.218 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 21 April 2026  19:17:50 +0000 (0:00:00.483)       0:00:39.702 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************",
                                "Tuesday 21 April 2026  19:17:50 +0000 (0:00:00.432)       0:00:40.134 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:01.737)       0:00:41.872 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.061)       0:00:41.934 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.042)       0:00:41.976 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.042)       0:00:42.019 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Enable \"cephadm\" mgr module] *************************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.042)       0:00:42.061 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set orchestrator backend to \"cephadm\"] ***************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.040)       0:00:42.101 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.040)       0:00:42.141 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Generate \"cephadm\" key] ******************************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.041)       0:00:42.182 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.037)       0:00:42.220 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Tuesday 21 April 2026  19:17:52 +0000 (0:00:00.122)       0:00:42.342 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Tuesday 21 April 2026  19:17:53 +0000 (0:00:00.226)       0:00:42.568 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Tuesday 21 April 2026  19:17:53 +0000 (0:00:00.054)       0:00:42.623 *********",
                                "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 21 April 2026  19:17:53 +0000 (0:00:00.086)       0:00:42.709 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Tuesday 21 April 2026  19:17:53 +0000 (0:00:00.369)       0:00:43.079 *********",
                                "changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})",
                                "changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})",
                                "changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})",
                                "",
                                "TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************",
                                "Tuesday 21 April 2026  19:17:54 +0000 (0:00:00.758)       0:00:43.838 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Tuesday 21 April 2026  19:20:06 +0000 (0:02:11.939)       0:02:55.777 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Tuesday 21 April 2026  19:20:06 +0000 (0:00:00.216)       0:02:55.993 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 21 April 2026  19:20:06 +0000 (0:00:00.046)       0:02:56.039 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 21 April 2026  19:20:06 +0000 (0:00:00.082)       0:02:56.122 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 21 April 2026  19:20:08 +0000 (0:00:01.626)       0:02:57.748 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 21 April 2026  19:20:08 +0000 (0:00:00.074)       0:02:57.823 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 21 April 2026  19:20:08 +0000 (0:00:00.450)       0:02:58.273 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Tuesday 21 April 2026  19:20:10 +0000 (0:00:02.054)       0:03:00.328 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Tuesday 21 April 2026  19:20:12 +0000 (0:00:01.639)       0:03:01.967 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 21 April 2026  19:20:23 +0000 (0:00:11.194)       0:03:13.162 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 21 April 2026  19:20:23 +0000 (0:00:00.076)       0:03:13.238 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 21 April 2026  19:20:23 +0000 (0:00:00.055)       0:03:13.294 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 21 April 2026  19:20:23 +0000 (0:00:00.062)       0:03:13.356 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 21 April 2026  19:20:24 +0000 (0:00:00.262)       0:03:13.618 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Tuesday 21 April 2026  19:20:26 +0000 (0:00:02.002)       0:03:15.621 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Tuesday 21 April 2026  19:20:27 +0000 (0:00:01.648)       0:03:17.269 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********",
                                "Tuesday 21 April 2026  19:20:29 +0000 (0:00:01.567)       0:03:18.836 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:20:31 +0000 (0:00:02.197)       0:03:21.034 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:20:32 +0000 (0:00:00.891)       0:03:21.925 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:20:32 +0000 (0:00:00.208)       0:03:22.133 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 21 April 2026  19:20:32 +0000 (0:00:00.038)       0:03:22.171 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:20:32 +0000 (0:00:00.213)       0:03:22.385 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:20:32 +0000 (0:00:00.057)       0:03:22.442 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:20:33 +0000 (0:00:00.314)       0:03:22.757 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:20:33 +0000 (0:00:00.050)       0:03:22.807 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:20:33 +0000 (0:00:00.046)       0:03:22.854 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:20:33 +0000 (0:00:00.219)       0:03:23.073 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:20:34 +0000 (0:00:01.056)       0:03:24.130 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:20:34 +0000 (0:00:00.068)       0:03:24.199 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:20:35 +0000 (0:00:00.351)       0:03:24.550 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 21 April 2026  19:20:37 +0000 (0:00:01.975)       0:03:26.526 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 21 April 2026  19:20:37 +0000 (0:00:00.032)       0:03:26.558 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 21 April 2026  19:20:37 +0000 (0:00:00.034)       0:03:26.593 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 21 April 2026  19:20:37 +0000 (0:00:00.033)       0:03:26.626 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 21 April 2026  19:20:38 +0000 (0:00:01.051)       0:03:27.677 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 21 April 2026  19:20:38 +0000 (0:00:00.424)       0:03:28.102 *********",
                                "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 21 April 2026  19:20:39 +0000 (0:00:00.870)       0:03:28.972 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 21 April 2026  19:20:39 +0000 (0:00:00.508)       0:03:29.481 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 21 April 2026  19:20:39 +0000 (0:00:00.006)       0:03:29.488 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:20:40 +0000 (0:00:00.353)       0:03:29.842 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:20:40 +0000 (0:00:00.205)       0:03:30.047 *********",
                                "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 21 April 2026  19:20:40 +0000 (0:00:00.055)       0:03:30.103 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:20:40 +0000 (0:00:00.349)       0:03:30.453 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Tuesday 21 April 2026  19:20:44 +0000 (0:00:03.052)       0:03:33.505 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Tuesday 21 April 2026  19:20:44 +0000 (0:00:00.983)       0:03:34.488 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Tuesday 21 April 2026  19:20:45 +0000 (0:00:00.194)       0:03:34.683 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Tuesday 21 April 2026  19:20:45 +0000 (0:00:00.444)       0:03:35.127 *********",
                                "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 21 April 2026  19:20:46 +0000 (0:00:00.575)       0:03:35.703 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Tuesday 21 April 2026  19:20:46 +0000 (0:00:00.436)       0:03:36.140 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Tuesday 21 April 2026  19:20:47 +0000 (0:00:00.467)       0:03:36.607 *********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Tuesday 21 April 2026  19:20:47 +0000 (0:00:00.006)       0:03:36.614 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Tuesday 21 April 2026  19:20:47 +0000 (0:00:00.392)       0:03:37.006 *********",
                                "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 21 April 2026  19:20:47 +0000 (0:00:00.059)       0:03:37.066 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Tuesday 21 April 2026  19:20:49 +0000 (0:00:01.432)       0:03:38.498 *********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Tuesday 21 April 2026  19:20:49 +0000 (0:00:00.683)       0:03:39.182 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Tuesday 21 April 2026  19:20:49 +0000 (0:00:00.280)       0:03:39.462 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Tuesday 21 April 2026  19:20:50 +0000 (0:00:00.216)       0:03:39.678 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Tuesday 21 April 2026  19:20:50 +0000 (0:00:00.240)       0:03:39.918 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Tuesday 21 April 2026  19:20:50 +0000 (0:00:00.216)       0:03:40.135 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Tuesday 21 April 2026  19:20:50 +0000 (0:00:00.263)       0:03:40.398 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************",
                                "Tuesday 21 April 2026  19:20:50 +0000 (0:00:00.057)       0:03:40.456 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************",
                                "Tuesday 21 April 2026  19:20:56 +0000 (0:00:05.289)       0:03:45.745 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Tuesday 21 April 2026  19:20:56 +0000 (0:00:00.050)       0:03:45.796 *********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Tuesday 21 April 2026  19:20:56 +0000 (0:00:00.066)       0:03:45.862 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Tuesday 21 April 2026  19:20:56 +0000 (0:00:00.040)       0:03:45.902 *********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Tuesday 21 April 2026  19:20:56 +0000 (0:00:00.050)       0:03:45.953 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Tuesday 21 April 2026  19:20:56 +0000 (0:00:00.262)       0:03:46.215 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************",
                                "Tuesday 21 April 2026  19:20:58 +0000 (0:00:02.014)       0:03:48.230 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************",
                                "Tuesday 21 April 2026  19:20:58 +0000 (0:00:00.022)       0:03:48.252 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Tuesday 21 April 2026  19:20:58 +0000 (0:00:00.025)       0:03:48.278 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Tuesday 21 April 2026  19:21:04 +0000 (0:00:05.310)       0:03:53.588 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Tuesday 21 April 2026  19:21:14 +0000 (0:00:10.339)       0:04:03.927 *********",
                                "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 21 April 2026  19:22:43 +0000 (0:01:29.040)       0:05:32.968 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Tuesday 21 April 2026  19:22:45 +0000 (0:00:01.889)       0:05:34.857 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Tuesday 21 April 2026  19:22:46 +0000 (0:00:01.612)       0:05:36.470 *********",
                                "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 21 April 2026  19:22:47 +0000 (0:00:00.066)       0:05:36.537 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Tuesday 21 April 2026  19:22:47 +0000 (0:00:00.053)       0:05:36.590 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Tuesday 21 April 2026  19:22:48 +0000 (0:00:01.702)       0:05:38.292 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Tuesday 21 April 2026  19:22:48 +0000 (0:00:00.051)       0:05:38.344 *********",
                                "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 21 April 2026  19:22:48 +0000 (0:00:00.048)       0:05:38.393 *********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Tuesday 21 April 2026  19:22:48 +0000 (0:00:00.051)       0:05:38.444 *********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:22:49 +0000 (0:00:00.404)       0:05:38.849 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Tuesday 21 April 2026  19:22:50 +0000 (0:00:00.994)       0:05:39.843 *********",
                                "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 21 April 2026  19:22:54 +0000 (0:00:03.886)       0:05:43.730 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Tuesday 21 April 2026  19:22:54 +0000 (0:00:00.191)       0:05:43.921 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Tuesday 21 April 2026  19:22:54 +0000 (0:00:00.449)       0:05:44.371 *********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Tuesday 21 April 2026  19:22:55 +0000 (0:00:00.245)       0:05:44.617 *********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:22:55 +0000 (0:00:00.053)       0:05:44.670 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Tuesday 21 April 2026  19:22:56 +0000 (0:00:00.956)       0:05:45.627 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Tuesday 21 April 2026  19:22:56 +0000 (0:00:00.207)       0:05:45.834 *********",
                                "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 21 April 2026  19:22:57 +0000 (0:00:00.875)       0:05:46.710 *********",
                                "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 21 April 2026  19:22:57 +0000 (0:00:00.511)       0:05:47.221 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Tuesday 21 April 2026  19:22:57 +0000 (0:00:00.190)       0:05:47.412 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Tuesday 21 April 2026  19:22:58 +0000 (0:00:00.192)       0:05:47.604 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Tuesday 21 April 2026  19:22:58 +0000 (0:00:00.036)       0:05:47.640 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Tuesday 21 April 2026  19:22:58 +0000 (0:00:00.042)       0:05:47.683 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Tuesday 21 April 2026  19:22:58 +0000 (0:00:00.515)       0:05:48.198 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Tuesday 21 April 2026  19:22:58 +0000 (0:00:00.184)       0:05:48.382 *********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Tuesday 21 April 2026  19:22:58 +0000 (0:00:00.055)       0:05:48.438 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:22:59 +0000 (0:00:00.954)       0:05:49.393 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.202)       0:05:49.595 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.037)       0:05:49.633 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.205)       0:05:49.838 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.051)       0:05:49.890 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.302)       0:05:50.192 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.048)       0:05:50.240 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Tuesday 21 April 2026  19:23:00 +0000 (0:00:00.197)       0:05:50.438 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:01 +0000 (0:00:01.011)       0:05:51.449 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:02 +0000 (0:00:00.069)       0:05:51.519 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:02 +0000 (0:00:00.335)       0:05:51.855 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 21 April 2026  19:23:04 +0000 (0:00:01.954)       0:05:53.809 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 21 April 2026  19:23:04 +0000 (0:00:00.031)       0:05:53.841 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 21 April 2026  19:23:04 +0000 (0:00:00.035)       0:05:53.876 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 21 April 2026  19:23:04 +0000 (0:00:00.036)       0:05:53.913 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 21 April 2026  19:23:05 +0000 (0:00:01.003)       0:05:54.917 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 21 April 2026  19:23:05 +0000 (0:00:00.420)       0:05:55.337 *********",
                                "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 21 April 2026  19:23:06 +0000 (0:00:00.905)       0:05:56.243 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 21 April 2026  19:23:07 +0000 (0:00:00.505)       0:05:56.748 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 21 April 2026  19:23:07 +0000 (0:00:00.006)       0:05:56.755 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Tuesday 21 April 2026  19:23:07 +0000 (0:00:00.355)       0:05:57.110 *********",
                                "fatal: [instance]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.582)       0:05:57.693 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.033)       0:05:57.726 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.034)       0:05:57.760 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.031)       0:05:57.792 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.041)       0:05:57.834 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.038)       0:05:57.872 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.201)       0:05:58.074 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:08 +0000 (0:00:00.044)       0:05:58.119 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:09 +0000 (0:00:01.066)       0:05:59.185 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:23:09 +0000 (0:00:00.042)       0:05:59.228 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:09 +0000 (0:00:00.202)       0:05:59.430 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:09 +0000 (0:00:00.046)       0:05:59.477 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:10 +0000 (0:00:00.730)       0:06:00.208 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Tuesday 21 April 2026  19:23:10 +0000 (0:00:00.047)       0:06:00.255 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Tuesday 21 April 2026  19:23:10 +0000 (0:00:00.028)       0:06:00.284 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Tuesday 21 April 2026  19:23:10 +0000 (0:00:00.027)       0:06:00.312 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Tuesday 21 April 2026  19:23:10 +0000 (0:00:00.033)       0:06:00.345 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Tuesday 21 April 2026  19:23:11 +0000 (0:00:01.048)       0:06:01.394 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Tuesday 21 April 2026  19:23:12 +0000 (0:00:00.424)       0:06:01.819 *********",
                                "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 21 April 2026  19:23:13 +0000 (0:00:00.879)       0:06:02.699 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Tuesday 21 April 2026  19:23:13 +0000 (0:00:00.512)       0:06:03.211 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Tuesday 21 April 2026  19:23:13 +0000 (0:00:00.006)       0:06:03.218 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:23:14 +0000 (0:00:00.355)       0:06:03.573 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:14 +0000 (0:00:00.206)       0:06:03.779 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/crictl-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:14 +0000 (0:00:00.057)       0:06:03.837 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:15 +0000 (0:00:00.979)       0:06:04.816 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:16 +0000 (0:00:01.350)       0:06:06.167 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.35.0/critest-v1.35.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:16 +0000 (0:00:00.052)       0:06:06.219 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:17 +0000 (0:00:00.561)       0:06:06.780 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Tuesday 21 April 2026  19:23:18 +0000 (0:00:01.381)       0:06:08.162 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Tuesday 21 April 2026  19:23:19 +0000 (0:00:00.459)       0:06:08.622 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Tuesday 21 April 2026  19:23:19 +0000 (0:00:00.208)       0:06:08.830 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:19 +0000 (0:00:00.205)       0:06:09.036 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:19 +0000 (0:00:00.054)       0:06:09.091 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:20 +0000 (0:00:00.793)       0:06:09.884 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Tuesday 21 April 2026  19:23:23 +0000 (0:00:02.628)       0:06:12.512 *********",
                                "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 21 April 2026  19:23:23 +0000 (0:00:00.064)       0:06:12.576 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Tuesday 21 April 2026  19:23:24 +0000 (0:00:00.998)       0:06:13.575 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Tuesday 21 April 2026  19:23:24 +0000 (0:00:00.194)       0:06:13.769 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Tuesday 21 April 2026  19:23:24 +0000 (0:00:00.464)       0:06:14.234 *********",
                                "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 21 April 2026  19:23:25 +0000 (0:00:00.734)       0:06:14.968 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Tuesday 21 April 2026  19:23:25 +0000 (0:00:00.207)       0:06:15.175 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Tuesday 21 April 2026  19:23:25 +0000 (0:00:00.048)       0:06:15.223 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Tuesday 21 April 2026  19:23:27 +0000 (0:00:01.600)       0:06:16.824 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Tuesday 21 April 2026  19:23:27 +0000 (0:00:00.043)       0:06:16.868 *********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Tuesday 21 April 2026  19:23:27 +0000 (0:00:00.065)       0:06:16.934 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Tuesday 21 April 2026  19:23:27 +0000 (0:00:00.039)       0:06:16.973 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Tuesday 21 April 2026  19:23:31 +0000 (0:00:04.011)       0:06:20.985 *********",
                                "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 21 April 2026  19:23:32 +0000 (0:00:01.296)       0:06:22.281 *********",
                                "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 21 April 2026  19:23:33 +0000 (0:00:00.537)       0:06:22.819 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Tuesday 21 April 2026  19:23:33 +0000 (0:00:00.469)       0:06:23.288 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Tuesday 21 April 2026  19:23:34 +0000 (0:00:00.470)       0:06:23.759 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Tuesday 21 April 2026  19:23:34 +0000 (0:00:00.202)       0:06:23.961 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Tuesday 21 April 2026  19:23:34 +0000 (0:00:00.038)       0:06:24.000 *********",
                                "ok: [instance] => (item=swap)",
                                "ok: [instance] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Tuesday 21 April 2026  19:23:35 +0000 (0:00:00.536)       0:06:24.537 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Tuesday 21 April 2026  19:23:35 +0000 (0:00:00.464)       0:06:25.002 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Tuesday 21 April 2026  19:23:36 +0000 (0:00:00.579)       0:06:25.582 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Tuesday 21 April 2026  19:23:36 +0000 (0:00:00.010)       0:06:25.592 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Tuesday 21 April 2026  19:23:36 +0000 (0:00:00.757)       0:06:26.349 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Tuesday 21 April 2026  19:23:37 +0000 (0:00:00.581)       0:06:26.931 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Tuesday 21 April 2026  19:23:38 +0000 (0:00:01.019)       0:06:27.950 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Tuesday 21 April 2026  19:23:39 +0000 (0:00:00.714)       0:06:28.665 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Tuesday 21 April 2026  19:23:39 +0000 (0:00:00.204)       0:06:28.869 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Tuesday 21 April 2026  19:23:39 +0000 (0:00:00.510)       0:06:29.379 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Tuesday 21 April 2026  19:23:39 +0000 (0:00:00.079)       0:06:29.459 *********",
                                "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 21 April 2026  19:23:40 +0000 (0:00:00.073)       0:06:29.532 *********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.211)       0:06:29.744 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.046)       0:06:29.790 *********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.048)       0:06:29.838 *********",
                                "ok: [instance] => {",
                                "    \"msg\": \"instance\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.042)       0:06:29.881 *********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.532)       0:06:30.413 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.039)       0:06:30.453 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Tuesday 21 April 2026  19:23:40 +0000 (0:00:00.036)       0:06:30.489 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Tuesday 21 April 2026  19:23:41 +0000 (0:00:00.036)       0:06:30.526 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Tuesday 21 April 2026  19:23:41 +0000 (0:00:00.038)       0:06:30.564 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Tuesday 21 April 2026  19:23:41 +0000 (0:00:00.036)       0:06:30.601 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Tuesday 21 April 2026  19:23:41 +0000 (0:00:00.037)       0:06:30.638 *********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Tuesday 21 April 2026  19:23:41 +0000 (0:00:00.029)       0:06:30.667 *********",
                                "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:00:03.559682\", \"end\": \"2026-04-21 19:23:44.895772\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-21 19:23:41.336090\", \"stderr\": \"W0421 19:23:41.372014   39136 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase preflight: [preflight] Some fatal errors occurred:\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0421 19:23:41.984421   39243 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:41Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0421 19:23:42.601005   39326 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:42Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0421 19:23:43.025889   39408 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0421 19:23:43.523372   39486 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\\ntime=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0421 19:23:43.992867   39581 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\\ntime=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0421 19:23:44.435896   39651 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\\ntime=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\"\\n, error: exit status 1\\n\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0421 19:23:44.888238   39728 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\\ntime=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\"\\n, error: exit status 1\\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0421 19:23:41.372014   39136 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase preflight: [preflight] Some fatal errors occurred:\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13: output: E0421 19:23:41.984421   39243 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:41Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-apiserver:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-apiserver/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13: output: E0421 19:23:42.601005   39326 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:42Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-controller-manager:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-controller-manager/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13: output: E0421 19:23:43.025889   39408 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-scheduler:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-scheduler/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13: output: E0421 19:23:43.523372   39486 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\"\", \"time=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/kube-proxy:v1.28.13\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/kube-proxy/manifests/v1.28.13: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/pause:3.9: output: E0421 19:23:43.992867   39581 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\"\", \"time=\\\"2026-04-21T19:23:43Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/pause:3.9\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/pause/manifests/3.9: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0: output: E0421 19:23:44.435896   39651 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\"\", \"time=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/etcd:3.5.12-0\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/etcd/manifests/3.5.12-0: 401 Unauthorized\\\"\", \", error: exit status 1\", \"\\t[ERROR ImagePull]: failed to pull image harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1: output: E0421 19:23:44.888238   39728 log.go:32] \\\"PullImage from image service failed\\\" err=\\\"rpc error: code = Unknown desc = failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\" image=\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\"\", \"time=\\\"2026-04-21T19:23:44Z\\\" level=fatal msg=\\\"pulling image: failed to pull and unpack image \\\\\\\"harbor.atmosphere.dev/registry.k8s.io/coredns/coredns:v1.10.1\\\\\\\": failed to resolve image: unexpected status from HEAD request to https://harbor.atmosphere.dev/v2/registry.k8s.io/coredns/coredns/manifests/v1.10.1: 401 Unauthorized\\\"\", \", error: exit status 1\", \"[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`\", \"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'\", \"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'\"]}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=199  changed=54   unreachable=0    failed=1    skipped=53   rescued=0    ignored=2",
                                "",
                                "Tuesday 21 April 2026  19:23:44 +0000 (0:00:03.754)       0:06:34.422 *********",
                                "===============================================================================",
                                "vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 131.94s",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 89.04s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.19s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.34s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 5.83s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 5.63s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.31s",
                                "vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 5.29s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.44s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 4.01s",
                                "vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.89s",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster --------------------- 3.75s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.17s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.05s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.63s",
                                "vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.20s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.05s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.01s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.00s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.98s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /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 --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0011-5dd3-3484-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:45.478632Z",
                            "start": "2026-04-21T19:15:13.710139Z"
                        },
                        "id": "0242ac17-0011-5dd3-3484-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "stable/2023.1",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-21T19:23:56.359584Z",
                    "start": "2026-04-21T19:23:46.238323Z"
                },
                "id": "0242ac17-0011-7446-91d6-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-7446-91d6-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:46.621761Z",
                            "start": "2026-04-21T19:23:46.252078Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.106127",
                            "end": "2026-04-21 19:23:47.081533",
                            "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-7446-91d6-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:46.975406",
                            "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-7446-91d6-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:47.168778Z",
                            "start": "2026-04-21T19:23:46.647529Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.35:/tmp/logs/system /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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-7446-91d6-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:47.821493Z",
                            "start": "2026-04-21T19:23:47.175400Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:48.208000Z",
                            "start": "2026-04-21T19:23:47.831790Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.068351",
                            "end": "2026-04-21 19:23:48.496060",
                            "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-7446-91d6-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:48.427709",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0421 19:23:48.486471   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:48.487444   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:48.489444   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:48.490461   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:48.491068   39837 memcache.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": [
                                "E0421 19:23:48.486471   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:48.487444   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:48.489444   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:48.490461   39837 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:48.491068   39837 memcache.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-7446-91d6-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:48.746875Z",
                            "start": "2026-04-21T19:23:48.232691Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.35:/tmp/logs/helm /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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-7446-91d6-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:49.237765Z",
                            "start": "2026-04-21T19:23:48.754027Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:49.484362Z",
                            "start": "2026-04-21T19:23:49.283796Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.205973",
                            "end": "2026-04-21 19:23:49.896513",
                            "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-7446-91d6-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:49.690540",
                            "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\nE0421 19:23:49.752182   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.752969   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.754559   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.755067   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.755632   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.756493   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.757038   39895 memcache.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?\nE0421 19:23:49.758002   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.758409   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.759880   39889 memcache.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\nE0421 19:23:49.817982   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.818836   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.820380   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.820837   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.822461   39924 memcache.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?\nE0421 19:23:49.828503   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.829538   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.830344   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.832295   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.832886   39931 memcache.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\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0421 19:23:49.886153   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.886873   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.888718   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.889180   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:49.890813   39954 memcache.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",
                                "E0421 19:23:49.752182   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.752969   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.754559   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.755067   39895 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.755632   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.756493   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.757038   39895 memcache.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?",
                                "E0421 19:23:49.758002   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.758409   39889 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.759880   39889 memcache.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",
                                "E0421 19:23:49.817982   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.818836   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.820380   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.820837   39924 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.822461   39924 memcache.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?",
                                "E0421 19:23:49.828503   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.829538   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.830344   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.832295   39931 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.832886   39931 memcache.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",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0421 19:23:49.886153   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.886873   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.888718   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.889180   39954 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:49.890813   39954 memcache.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-7446-91d6-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:50.026302Z",
                            "start": "2026-04-21T19:23:49.509755Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:50.227970Z",
                            "start": "2026-04-21T19:23:50.031267Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.072989",
                            "end": "2026-04-21 19:23:50.507791",
                            "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-7446-91d6-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:50.434802",
                            "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\nE0421 19:23:50.492586   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:50.493050   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:50.494619   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:50.499665   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:50.500595   39999 memcache.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",
                                "E0421 19:23:50.492586   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:50.493050   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:50.494619   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:50.499665   39999 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:50.500595   39999 memcache.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-7446-91d6-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:50.768568Z",
                            "start": "2026-04-21T19:23:50.251648Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.35:/tmp/logs/objects /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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-7446-91d6-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:51.265151Z",
                            "start": "2026-04-21T19:23:50.773744Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:51.489470Z",
                            "start": "2026-04-21T19:23:51.274449Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:51.702636Z",
                            "start": "2026-04-21T19:23:51.494250Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.067526",
                            "end": "2026-04-21 19:23:52.003086",
                            "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-7446-91d6-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:51.935560",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0421 19:23:51.990199   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:51.991750   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:51.993453   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:51.994585   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:51.995456   40065 memcache.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": [
                                "E0421 19:23:51.990199   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:51.991750   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:51.993453   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:51.994585   40065 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:51.995456   40065 memcache.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-7446-91d6-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:52.244782Z",
                            "start": "2026-04-21T19:23:51.727769Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.35:/tmp/logs/pod-logs /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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-7446-91d6-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:52.733326Z",
                            "start": "2026-04-21T19:23:52.249877Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:52.950022Z",
                            "start": "2026-04-21T19:23:52.742602Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.073485",
                            "end": "2026-04-21 19:23:53.237892",
                            "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-7446-91d6-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:53.164407",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0421 19:23:53.226809   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.227772   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.229617   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.230308   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.232117   40114 memcache.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": [
                                "E0421 19:23:53.226809   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.227772   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.229617   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.230308   40114 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.232117   40114 memcache.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-7446-91d6-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:53.489696Z",
                            "start": "2026-04-21T19:23:52.975404Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.072287",
                            "end": "2026-04-21 19:23:53.778592",
                            "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-7446-91d6-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:53.706305",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0421 19:23:53.760498   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.761766   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.762516   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.764653   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:53.772505   40140 memcache.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": [
                                "E0421 19:23:53.760498   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.761766   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.762516   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.764653   40140 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:53.772505   40140 memcache.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-7446-91d6-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:54.029522Z",
                            "start": "2026-04-21T19:23:53.513273Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.076963",
                            "end": "2026-04-21 19:23:54.322170",
                            "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-7446-91d6-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-21 19:23:54.245207",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0421 19:23:54.309934   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:54.311000   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:54.311903   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:54.313977   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0421 19:23:54.314619   40168 memcache.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": [
                                "E0421 19:23:54.309934   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:54.311000   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:54.311903   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:54.313977   40168 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0421 19:23:54.314619   40168 memcache.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-7446-91d6-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:54.570730Z",
                            "start": "2026-04-21T19:23:54.053127Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.35:/tmp/logs/prometheus /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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-7446-91d6-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:55.080993Z",
                            "start": "2026-04-21T19:23:54.577762Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-7446-91d6-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:55.332181Z",
                            "start": "2026-04-21T19:23:55.131647Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.007646",
                            "end": "2026-04-21 19:23:55.553000",
                            "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-7446-91d6-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-21 19:23:55.545354",
                            "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-7446-91d6-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-7446-91d6-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:55.875330Z",
                            "start": "2026-04-21T19:23:55.355926Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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.35:/tmp/logs/selenium /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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-7446-91d6-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:56.359584Z",
                            "start": "2026-04-21T19:23:55.880421Z"
                        },
                        "id": "0242ac17-0011-7446-91d6-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-21T19:24:00.360335Z",
                    "start": "2026-04-21T19:23:57.133104Z"
                },
                "id": "0242ac17-0011-c4c2-6174-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-c4c2-6174-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:57.190165Z",
                            "start": "2026-04-21T19:23:57.144397Z"
                        },
                        "id": "0242ac17-0011-c4c2-6174-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c4c2-6174-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:57.245882Z",
                            "start": "2026-04-21T19:23:57.202408Z"
                        },
                        "id": "0242ac17-0011-c4c2-6174-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/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c4c2-6174-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:58.068498Z",
                            "start": "2026-04-21T19:23:57.251475Z"
                        },
                        "id": "0242ac17-0011-c4c2-6174-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.35:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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.35:/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c4c2-6174-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:23:59.664491Z",
                            "start": "2026-04-21T19:23:58.079225Z"
                        },
                        "id": "0242ac17-0011-c4c2-6174-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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/artifacts/* /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.006203",
                                    "end": "2026-04-21 19:24:00.086470",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/artifacts/* /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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-21 19:24:00.080267",
                                    "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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/docs/* /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007489",
                                    "end": "2026-04-21 19:24:00.308348",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/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/f9a7f103235d4f20b25d6e4c8ed342c9/work/docs/* /var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/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-21 19:24:00.300859",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-c4c2-6174-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:24:00.360335Z",
                            "start": "2026-04-21T19:23:59.679498Z"
                        },
                        "id": "0242ac17-0011-c4c2-6174-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-21T19:24:00.805453Z",
                    "start": "2026-04-21T19:24:00.372074Z"
                },
                "id": "0242ac17-0011-c4c2-6174-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC9+qakDuBpyA80X2NbqPqnVQKyjcZuC76BKRokjqXNIyMyxo7XwmP2+sIK4zp1ptmnEkbqpX4nwKhx7wX5iTEXP1keIlptW7CuBHDr4JV4J078+XlHNrwvXjXniwG9GW4Kkd7ZJ9Uj7DG107BdfBLv1AgjiIQSDLlMDiE4RHOOj1Aa8VfHgLSuvW3Qs+k1WCg0bg/ud0pOt8tS8xRkqg877eyHPviboOOATqObY7CMrHCBomH/LJMX5JNNC7Eq49gninmn68ppcD8ScTZlX54rdKzMrVLyInGtrkgXtMG0ozLHweqQwgBP09XafzQltUG9B/ACx1lAu1v6y5T9zx1bPA2NLFYTAtxG6e/3FPQFEn6c6NP00x06HFhmBHweBO1jRH7RtfBj2RBa+A/QBDoiWRH3318J3WCLISYU46pFoHqIJxWPjfJtVd1OXGJXjXgRjyv9out5jirD9b/FIEVv/F8khl1igIEg6iP+5OHePOwQHGCw3FpWoK7UBAnbBYs= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQC9+qakDuBpyA80X2NbqPqnVQKyjcZuC76BKRokjqXNIyMyxo7XwmP2+sIK4zp1ptmnEkbqpX4nwKhx7wX5iTEXP1keIlptW7CuBHDr4JV4J078+XlHNrwvXjXniwG9GW4Kkd7ZJ9Uj7DG107BdfBLv1AgjiIQSDLlMDiE4RHOOj1Aa8VfHgLSuvW3Qs+k1WCg0bg/ud0pOt8tS8xRkqg877eyHPviboOOATqObY7CMrHCBomH/LJMX5JNNC7Eq49gninmn68ppcD8ScTZlX54rdKzMrVLyInGtrkgXtMG0ozLHweqQwgBP09XafzQltUG9B/ACx1lAu1v6y5T9zx1bPA2NLFYTAtxG6e/3FPQFEn6c6NP00x06HFhmBHweBO1jRH7RtfBj2RBa+A/QBDoiWRH3318J3WCLISYU46pFoHqIJxWPjfJtVd1OXGJXjXgRjyv9out5jirD9b/FIEVv/F8khl1igIEg6iP+5OHePOwQHGCw3FpWoK7UBAnbBYs= 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-c4c2-6174-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/f9a7f103235d4f20b25d6e4c8ed342c9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-21T19:24:00.805453Z",
                            "start": "2026-04-21T19:24:00.380001Z"
                        },
                        "id": "0242ac17-0011-c4c2-6174-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
}
]
