[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-26T02:04:12.034797Z",
                    "start": "2026-06-26T02:04:09.403122Z"
                },
                "id": "0242ac17-0010-4d83-5c3a-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-06-26",
                                    "day": "26",
                                    "epoch": "1782439450",
                                    "epoch_int": "1782439450",
                                    "hour": "02",
                                    "iso8601": "2026-06-26T02:04:10Z",
                                    "iso8601_basic": "20260626T020410105583",
                                    "iso8601_basic_short": "20260626T020410",
                                    "iso8601_micro": "2026-06-26T02:04:10.105583Z",
                                    "minute": "04",
                                    "month": "06",
                                    "second": "10",
                                    "time": "02:04:10",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "25",
                                    "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/8e797758305f42a9bbe4361f1821cef6/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/kube/config",
                                    "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/8e797758305f42a9bbe4361f1821cef6/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": "3153314",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-VPBq6Kfe7Lct/agent.3153313",
                                    "TMP": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "2d72f0692154",
                                "ansible_hostname": "2d72f0692154",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 4.267578125,
                                    "1m": 15.052734375,
                                    "5m": 6.77294921875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 2149,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 12952,
                                        "used": 19138
                                    },
                                    "real": {
                                        "free": 2149,
                                        "total": 32090,
                                        "used": 29941
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295953,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305627,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788223488,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 107513769,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 156426948,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 41703016,
                                        "inode_total": 67108864,
                                        "inode_used": 25405848,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 440376397824,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6295952,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 34305628,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15691784,
                                        "inode_total": 20643840,
                                        "inode_used": 4952056,
                                        "mount": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 25788219392,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "2d72f0692154",
                                "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": 46103179,
                                "ansible_user_dir": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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-06-26T02:04:10.399615Z",
                            "start": "2026-06-26T02:04:09.411302Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:10.426119Z",
                            "start": "2026-06-26T02:04:10.405188Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "8e7/oss/8e797758305f42a9bbe4361f1821cef6"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:10.468125Z",
                            "start": "2026-06-26T02:04:10.438826Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: atmosphere-molecule-aio-ovn\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere/pull/4089\nEvent ID: 89821830-70fc-11f1-9bd3-00cf6697aa98\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:10.523556Z",
                            "start": "2026-06-26T02:04:10.474272Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-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: np0000183047\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.38\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:10.646227Z",
                            "start": "2026-06-26T02:04:10.526325Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:11.041983Z",
                            "start": "2026-06-26T02:04:10.651544Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "30feb33a9bbc741fa0b9f23ae19cdce8d92c0e40",
                            "dest": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "30feb33a9bbc741fa0b9f23ae19cdce8d92c0e40",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/.ansible/tmp/ansible-tmp-1782439451.0807352-84-15335574012261/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "af7c557c474400a1dd9392a69113a498",
                            "mode": "0644",
                            "owner": "root",
                            "size": 48725,
                            "src": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/.ansible/tmp/ansible-tmp-1782439451.0807352-84-15335574012261/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:12.034797Z",
                            "start": "2026-06-26T02:04:11.047495Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-26T02:04:20.854318Z",
                    "start": "2026-06-26T02:04:12.046165Z"
                },
                "id": "0242ac17-0010-4d83-5c3a-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/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:12.342961Z",
                            "start": "2026-06-26T02:04:12.054160Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:12.383200Z",
                            "start": "2026-06-26T02:04:12.349830Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-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/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.267614",
                            "end": "2026-06-26 02:04:13.114916",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-4d83-5c3a-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:04:12.847302",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa.pub\nThe key fingerprint is:\nSHA256:1sFAR6AHTH31j2z2IZfk6bmGkC0SgMpRFFj5vbVdqt8 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|    =B*o+oo..    |\n|   o o.+.+.  .   |\n|  . o o +.o   .. |\n|   o   o + o .o+o|\n|        S = =.B*.|\n|       . o = *+.o|\n|          . + .o.|\n|           . ....|\n|            ...E |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:1sFAR6AHTH31j2z2IZfk6bmGkC0SgMpRFFj5vbVdqt8 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|    =B*o+oo..    |",
                                "|   o o.+.+.  .   |",
                                "|  . o o +.o   .. |",
                                "|   o   o + o .o+o|",
                                "|        S = =.B*.|",
                                "|       . o = *+.o|",
                                "|          . + .o.|",
                                "|           . ....|",
                                "|            ...E |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-4d83-5c3a-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:13.164801Z",
                            "start": "2026-06-26T02:04:12.405324Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:13.203282Z",
                            "start": "2026-06-26T02:04:13.170562Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:13.245133Z",
                            "start": "2026-06-26T02:04:13.219599Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCntUuUSyQLt1/RucQXZIGHFUr++9+WAiDjIY1nDU9wuhW2OotAOKm/LMVv7xQfCJlFvaCarW6zaISJzFr8C8dSKB5JtzkSc8VwJGzB8Yo4x29HNQEQxpEeb8gpXQDmO8vcX8+RCHhbhquKjhSkDiOILuYWdEsobS4TJPAkNbBag18WlwgMFNv/bWldBTBFjFpSl2klqyPSNvsXVyBjvpGmtBehiROhnN42PDhjiETb4kcc20lyc66wUt08nyqTKwzFIkilYew0V+Zqj748P+S/vNkB09MmuymtEPB3o7hucHZVIMxYZIDM4jukMUPbE9Qq5pcoiTeWRKuPmXV2r+yIlkg+LfXpiuuALrRtCm50Lby8TKUfQ2by9lowGKD7/msVs2rz4A7YHegSHUwCjLhIrXaD8NPtoBQU1dhmZSMs2simoYhCOCH3qa2k6Tvh9lyJZpdPPrIzb+0iahCQwGxtdi7FAU//TqLpgGTPJtUJYnd97RactJMZVtXbSKF8WHE= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCntUuUSyQLt1/RucQXZIGHFUr++9+WAiDjIY1nDU9wuhW2OotAOKm/LMVv7xQfCJlFvaCarW6zaISJzFr8C8dSKB5JtzkSc8VwJGzB8Yo4x29HNQEQxpEeb8gpXQDmO8vcX8+RCHhbhquKjhSkDiOILuYWdEsobS4TJPAkNbBag18WlwgMFNv/bWldBTBFjFpSl2klqyPSNvsXVyBjvpGmtBehiROhnN42PDhjiETb4kcc20lyc66wUt08nyqTKwzFIkilYew0V+Zqj748P+S/vNkB09MmuymtEPB3o7hucHZVIMxYZIDM4jukMUPbE9Qq5pcoiTeWRKuPmXV2r+yIlkg+LfXpiuuALrRtCm50Lby8TKUfQ2by9lowGKD7/msVs2rz4A7YHegSHUwCjLhIrXaD8NPtoBQU1dhmZSMs2simoYhCOCH3qa2k6Tvh9lyJZpdPPrIzb+0iahCQwGxtdi7FAU//TqLpgGTPJtUJYnd97RactJMZVtXbSKF8WHE= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:13.854081Z",
                            "start": "2026-06-26T02:04:13.253696Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:14.106522Z",
                            "start": "2026-06-26T02:04:13.871209Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "6c3ad868bdb71e2690f08c6bb3ebcc8ee3b4fc13",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "8e797758305f42a9bbe4361f1821cef6_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "6c3ad868bdb71e2690f08c6bb3ebcc8ee3b4fc13",
                                    "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-1782439454.1584215-190-241979528681633/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "83db4af941b6132af3fe36f45232fd0d",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1782439454.1584215-190-241979528681633/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:14.660453Z",
                            "start": "2026-06-26T02:04:14.111212Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "33913eb4310730ac098cdf4cadebdce045e57073",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "8e797758305f42a9bbe4361f1821cef6_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "33913eb4310730ac098cdf4cadebdce045e57073",
                                    "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-1782439454.721825-200-107528510584840/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a565f809d3c8949882ba2d0b793d3b3f",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1782439454.721825-200-107528510584840/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:15.136835Z",
                            "start": "2026-06-26T02:04:14.671001Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:15.175214Z",
                            "start": "2026-06-26T02:04:15.146075Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:15.569221Z",
                            "start": "2026-06-26T02:04:15.189322Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa"
                            ],
                            "delta": "0:00:00.018682",
                            "end": "2026-06-26 02:04:15.833651",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-4d83-5c3a-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:04:15.814969",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/8e797758305f42a9bbe4361f1821cef6_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-4d83-5c3a-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:15.883283Z",
                            "start": "2026-06-26T02:04:15.585504Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:16.166276Z",
                            "start": "2026-06-26T02:04:15.890484Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:16.199523Z",
                            "start": "2026-06-26T02:04:16.172812Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:16.513080Z",
                            "start": "2026-06-26T02:04:16.211511Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:19.822749Z",
                            "start": "2026-06-26T02:04:16.519265Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:20.342277Z",
                            "start": "2026-06-26T02:04:19.831493Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4d83-5c3a-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:20.854318Z",
                            "start": "2026-06-26T02:04:20.347696Z"
                        },
                        "id": "0242ac17-0010-4d83-5c3a-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-06-26T02:04:35.218953Z",
                    "start": "2026-06-26T02:04:22.340644Z"
                },
                "id": "0242ac17-0010-2c9b-a704-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-1782439462.4035501-5-202483047167864/uv-x86_64-unknown-linux-gnu6d2fd4ni.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-1782439462.4035501-5-202483047167864/uv-x86_64-unknown-linux-gnu6d2fd4ni.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-2c9b-a704-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:24.678811Z",
                            "start": "2026-06-26T02:04:22.364692Z"
                        },
                        "id": "0242ac17-0010-2c9b-a704-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.011665",
                            "end": "2026-06-26 02:04:25.082145",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-2c9b-a704-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:04:25.070480",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-2c9b-a704-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-2c9b-a704-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:25.224463Z",
                            "start": "2026-06-26T02:04:24.704356Z"
                        },
                        "id": "0242ac17-0010-2c9b-a704-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": true,
                            "checkouts": [
                                {
                                    "changed": false,
                                    "name": "ansible.netcommon",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                    "tag": "v8.5.3"
                                },
                                {
                                    "changed": true,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "tag": "1.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "tag": "v6.0.3"
                                },
                                {
                                    "changed": true,
                                    "name": "atmosphere.common",
                                    "path": "/home/zuul/src/github.com/vexxhost/atmosphere.common",
                                    "tag": "v0.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "tag": "2.2.3"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "7.3.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.mysql",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.mysql",
                                    "tag": "3.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "tag": "2.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "tag": "1.7.0"
                                },
                                {
                                    "changed": false,
                                    "name": "vexxhost.ceph",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                    "tag": "v4.0.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.7"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "tag": "v3.3.0"
                                }
                            ],
                            "installed": [
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.netcommon",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                    "spec": ">=1.2.0",
                                    "tag": "v8.5.3",
                                    "version": "8.5.3"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "spec": "1.6.0,>=1.6.0",
                                    "tag": "1.6.0",
                                    "version": "1.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.utils",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.utils",
                                    "spec": ">=2.9.0,>=3.0.0,>=6.0.0",
                                    "tag": "v6.0.3",
                                    "version": "6.0.3"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "atmosphere.common",
                                    "path": "/home/zuul/src/github.com/vexxhost/atmosphere.common",
                                    "spec": ">=0.6.0,<0.7.0",
                                    "tag": "v0.6.0",
                                    "version": "0.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "spec": "2.2.3,>=2.2.3",
                                    "tag": "2.2.3",
                                    "version": "2.2.3"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": "7.3.0,>=4.5.0",
                                    "tag": "7.3.0",
                                    "version": "7.3.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.mysql",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.mysql",
                                    "spec": "3.6.0",
                                    "tag": "3.6.0",
                                    "version": "3.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "spec": "2.4.0,>=2.4.0,>=2.3.2",
                                    "tag": "2.4.0",
                                    "version": "2.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "spec": "1.7.0",
                                    "tag": "1.7.0",
                                    "version": "1.7.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.ceph",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                    "spec": ">=3.1.2",
                                    "tag": "v4.0.0",
                                    "version": "4.0.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "spec": ">=1.1.1,>=1.6.0",
                                    "tag": "v1.6.7",
                                    "version": "1.6.7"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "spec": ">=3.3.0,>=2.5.0",
                                    "tag": "v3.3.0",
                                    "version": "3.3.0"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "stable/2023.1",
                                            "change": "4089",
                                            "change_message": "Update vexxhost images (stable/2023.1)\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [ghcr.io/vexxhost/barbican](https://redirect.github.com/vexxhost/docker-barbican) | digest | `0f7fa7b` \u2192 `ee0ae31` |\n| [ghcr.io/vexxhost/cinder](https://redirect.github.com/vexxhost/docker-cinder) | digest | `4c0d33d` \u2192 `79e2d98` |\n| [ghcr.io/vexxhost/designate](https://redirect.github.com/vexxhost/docker-designate) | digest | `1cbf831` \u2192 `3762def` |\n| [ghcr.io/vexxhost/glance](https://redirect.github.com/vexxhost/docker-glance) | digest | `e152cc2` \u2192 `b2aeddd` |\n| [ghcr.io/vexxhost/heat](https://redirect.github.com/vexxhost/docker-heat) | digest | `fe3ca02` \u2192 `dd0efa3` |\n| [ghcr.io/vexxhost/horizon](https://redirect.github.com/vexxhost/docker-horizon) | digest | `72af580` \u2192 `5d0bc40` |\n| [ghcr.io/vexxhost/ironic](https://redirect.github.com/vexxhost/docker-ironic) | digest | `de86235` \u2192 `c675b27` |\n| ghcr.io/vexxhost/keepalived | digest | `dcc9375` \u2192 `2a7e3c1` |\n| [ghcr.io/vexxhost/keystone](https://redirect.github.com/vexxhost/docker-keystone) | digest | `77e071b` \u2192 `9278d12` |\n| [ghcr.io/vexxhost/libvirtd](https://redirect.github.com/vexxhost/docker-libvirtd) | digest | `e5432e5` \u2192 `ca1cf18` |\n| [ghcr.io/vexxhost/magnum](https://redirect.github.com/vexxhost/docker-magnum) | digest | `8dbbe3f` \u2192 `7885467` |\n| [ghcr.io/vexxhost/manila](https://redirect.github.com/vexxhost/docker-manila) | digest | `de8def4` \u2192 `35c6122` |\n| ghcr.io/vexxhost/netoffload | digest | `3da96fd` \u2192 `7997ccf` |\n| [ghcr.io/vexxhost/neutron](https://redirect.github.com/vexxhost/docker-neutron) | digest | `71b2e22` \u2192 `1ce2830` |\n| [ghcr.io/vexxhost/nova](https://redirect.github.com/vexxhost/docker-nova) | digest | `9ef0092` \u2192 `9937076` |\n| [ghcr.io/vexxhost/octavia](https://redirect.github.com/vexxhost/docker-octavia) | digest | `4f11e52` \u2192 `27942ce` |\n| [ghcr.io/vexxhost/placement](https://redirect.github.com/vexxhost/docker-placement) | digest | `fd0986b` \u2192 `6840c80` |\n| [ghcr.io/vexxhost/python-openstackclient](https://redirect.github.com/vexxhost/docker-python-openstackclient) | digest | `7735154` \u2192 `d1bead8` |\n| [ghcr.io/vexxhost/senlin](https://redirect.github.com/vexxhost/docker-senlin) | digest | `fa558f8` \u2192 `e22e8e4` |\n| ghcr.io/vexxhost/tempest | digest | `724b43c` \u2192 `d10c859` |\n\n---\n\n### Configuration\n\n\ud83d\udcc5 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on monday\"\n- Automerge\n  - At any time (no schedule defined)\n\n\ud83d\udea6 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n\u267b **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\ud83d\udc7b **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vexxhost/atmosphere).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoic3RhYmxlLzIwMjMuMSIsImxhYmVscyI6WyJza2lwLXJlbGVhc2Utbm90ZXMiXX0=-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4089",
                                            "commit_id": "3e6e21016438e23d4d56e48f9b8de1f787cb68de",
                                            "patchset": "3e6e21016438e23d4d56e48f9b8de1f787cb68de",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere",
                                                "name": "vexxhost/atmosphere",
                                                "short_name": "atmosphere",
                                                "src_dir": "src/github.com/vexxhost/atmosphere"
                                            },
                                            "src_dir": "src/github.com/vexxhost/atmosphere",
                                            "topic": null
                                        },
                                        {
                                            "branch": "stable/2023.1",
                                            "change": "4089",
                                            "change_message": "Update vexxhost images (stable/2023.1)\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [ghcr.io/vexxhost/barbican](https://redirect.github.com/vexxhost/docker-barbican) | digest | `0f7fa7b` \u2192 `ee0ae31` |\n| [ghcr.io/vexxhost/cinder](https://redirect.github.com/vexxhost/docker-cinder) | digest | `4c0d33d` \u2192 `79e2d98` |\n| [ghcr.io/vexxhost/designate](https://redirect.github.com/vexxhost/docker-designate) | digest | `1cbf831` \u2192 `3762def` |\n| [ghcr.io/vexxhost/glance](https://redirect.github.com/vexxhost/docker-glance) | digest | `e152cc2` \u2192 `b2aeddd` |\n| [ghcr.io/vexxhost/heat](https://redirect.github.com/vexxhost/docker-heat) | digest | `fe3ca02` \u2192 `dd0efa3` |\n| [ghcr.io/vexxhost/horizon](https://redirect.github.com/vexxhost/docker-horizon) | digest | `72af580` \u2192 `5d0bc40` |\n| [ghcr.io/vexxhost/ironic](https://redirect.github.com/vexxhost/docker-ironic) | digest | `de86235` \u2192 `c675b27` |\n| ghcr.io/vexxhost/keepalived | digest | `dcc9375` \u2192 `2a7e3c1` |\n| [ghcr.io/vexxhost/keystone](https://redirect.github.com/vexxhost/docker-keystone) | digest | `77e071b` \u2192 `9278d12` |\n| [ghcr.io/vexxhost/libvirtd](https://redirect.github.com/vexxhost/docker-libvirtd) | digest | `e5432e5` \u2192 `ca1cf18` |\n| [ghcr.io/vexxhost/magnum](https://redirect.github.com/vexxhost/docker-magnum) | digest | `8dbbe3f` \u2192 `7885467` |\n| [ghcr.io/vexxhost/manila](https://redirect.github.com/vexxhost/docker-manila) | digest | `de8def4` \u2192 `35c6122` |\n| ghcr.io/vexxhost/netoffload | digest | `3da96fd` \u2192 `7997ccf` |\n| [ghcr.io/vexxhost/neutron](https://redirect.github.com/vexxhost/docker-neutron) | digest | `71b2e22` \u2192 `1ce2830` |\n| [ghcr.io/vexxhost/nova](https://redirect.github.com/vexxhost/docker-nova) | digest | `9ef0092` \u2192 `9937076` |\n| [ghcr.io/vexxhost/octavia](https://redirect.github.com/vexxhost/docker-octavia) | digest | `4f11e52` \u2192 `27942ce` |\n| [ghcr.io/vexxhost/placement](https://redirect.github.com/vexxhost/docker-placement) | digest | `fd0986b` \u2192 `6840c80` |\n| [ghcr.io/vexxhost/python-openstackclient](https://redirect.github.com/vexxhost/docker-python-openstackclient) | digest | `7735154` \u2192 `d1bead8` |\n| [ghcr.io/vexxhost/senlin](https://redirect.github.com/vexxhost/docker-senlin) | digest | `fa558f8` \u2192 `e22e8e4` |\n| ghcr.io/vexxhost/tempest | digest | `724b43c` \u2192 `d10c859` |\n\n---\n\n### Configuration\n\n\ud83d\udcc5 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on monday\"\n- Automerge\n  - At any time (no schedule defined)\n\n\ud83d\udea6 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n\u267b **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\ud83d\udc7b **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vexxhost/atmosphere).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoic3RhYmxlLzIwMjMuMSIsImxhYmVscyI6WyJza2lwLXJlbGVhc2Utbm90ZXMiXX0=-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere/pull/4089",
                                            "commit_id": "3e6e21016438e23d4d56e48f9b8de1f787cb68de",
                                            "patchset": "3e6e21016438e23d4d56e48f9b8de1f787cb68de",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere",
                                                "name": "vexxhost/atmosphere",
                                                "short_name": "atmosphere",
                                                "src_dir": "src/github.com/vexxhost/atmosphere"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/atmosphere",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.netcommon",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "ca8efe529eaceccf3e0104550abd47b8fac161ae",
                                            "name": "ansible-collections/ansible.netcommon",
                                            "required": true,
                                            "short_name": "ansible.netcommon",
                                            "src_dir": "src/github.com/ansible-collections/ansible.netcommon"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.posix",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "674315f2da475d25889d0b32a96ed0be580d8af3",
                                            "name": "ansible-collections/ansible.posix",
                                            "required": true,
                                            "short_name": "ansible.posix",
                                            "src_dir": "src/github.com/ansible-collections/ansible.posix"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.utils",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "e199e4a0978b463f9d8213ae7874f87452f34e48",
                                            "name": "ansible-collections/ansible.utils",
                                            "required": true,
                                            "short_name": "ansible.utils",
                                            "src_dir": "src/github.com/ansible-collections/ansible.utils"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.crypto",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "70ce1dfc91895595cfa7e72ac6073ed396cce6d8",
                                            "name": "ansible-collections/community.crypto",
                                            "required": true,
                                            "short_name": "community.crypto",
                                            "src_dir": "src/github.com/ansible-collections/community.crypto"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.general",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "3e239e5853cf7e48ce5d7f8ea05dc24fc2a0f2f4",
                                            "name": "ansible-collections/community.general",
                                            "required": true,
                                            "short_name": "community.general",
                                            "src_dir": "src/github.com/ansible-collections/community.general"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.mysql",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "4cf7a3176fbd07be43459f1366e8066381df6d97",
                                            "name": "ansible-collections/community.mysql",
                                            "required": true,
                                            "short_name": "community.mysql",
                                            "src_dir": "src/github.com/ansible-collections/community.mysql"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/kubernetes.core",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "ae90b60fd67e78120cefd93ceae2939cec0a607d",
                                            "name": "ansible-collections/kubernetes.core",
                                            "required": true,
                                            "short_name": "kubernetes.core",
                                            "src_dir": "src/github.com/ansible-collections/kubernetes.core"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-ceph",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "73f630a25d5c22f029e85298d9d47f3d94a014a6",
                                            "name": "vexxhost/ansible-collection-ceph",
                                            "required": true,
                                            "short_name": "ansible-collection-ceph",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-ceph"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-containers",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "62193e9ddde9e79c56f90d99f849a3471d119526",
                                            "name": "vexxhost/ansible-collection-containers",
                                            "required": true,
                                            "short_name": "ansible-collection-containers",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-containers"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "865ef1786f9695b6d40aeea222cf192c66a6ab77",
                                            "name": "vexxhost/ansible-collection-kubernetes",
                                            "required": true,
                                            "short_name": "ansible-collection-kubernetes",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere",
                                            "checkout": "stable/2023.1",
                                            "checkout_description": "zuul branch",
                                            "commit": "3e6e21016438e23d4d56e48f9b8de1f787cb68de",
                                            "name": "vexxhost/atmosphere",
                                            "required": false,
                                            "short_name": "atmosphere",
                                            "src_dir": "src/github.com/vexxhost/atmosphere"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere.common",
                                            "checkout": "main",
                                            "checkout_description": "project default branch",
                                            "commit": "d00ec7f88fdc7ca2ce504a7e19c4049986cdac86",
                                            "name": "vexxhost/atmosphere.common",
                                            "required": true,
                                            "short_name": "atmosphere.common",
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                        },
                                        {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/ansible-collections-openstack",
                                            "checkout": "master",
                                            "checkout_description": "project default branch",
                                            "commit": "209cf2d60533d5094aaf0308765d2e538091f203",
                                            "name": "openstack/ansible-collections-openstack",
                                            "required": true,
                                            "short_name": "ansible-collections-openstack",
                                            "src_dir": "src/opendev.org/openstack/ansible-collections-openstack"
                                        }
                                    ],
                                    "workspace_dir": "/home/zuul"
                                }
                            },
                            "log": [
                                "Sibling collection ansible.netcommon at /home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Sibling collection ansible.utils at /home/zuul/src/github.com/ansible-collections/ansible.utils",
                                "Sibling collection community.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Sibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general",
                                "Sibling collection community.mysql at /home/zuul/src/github.com/ansible-collections/community.mysql",
                                "Sibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Sibling collection vexxhost.ceph at /home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                "Sibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Sibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Sibling collection atmosphere.common at /home/zuul/src/github.com/vexxhost/atmosphere.common",
                                "Sibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Resolved ansible.netcommon to v8.5.3 for >=1.2.0",
                                "Resolved ansible.posix to 1.6.0 for 1.6.0",
                                "Resolved ansible.utils to v6.0.3 for >=2.9.0,>=3.0.0",
                                "Resolved community.crypto to 2.2.3 for 2.2.3",
                                "Resolved community.general to 7.3.0 for 7.3.0",
                                "Resolved community.mysql to 3.6.0 for 3.6.0",
                                "Resolved kubernetes.core to 2.4.0 for 2.4.0",
                                "Resolved openstack.cloud to 1.7.0 for 1.7.0",
                                "Resolved atmosphere.common to v0.6.0 for >=0.6.0,<0.7.0",
                                "Resolved vexxhost.ceph to v4.0.0 for >=3.1.2",
                                "Resolved vexxhost.kubernetes to v3.3.0 for >=3.3.0,>=2.5.0",
                                "Resolved ansible.utils to v6.0.3 for >=2.9.0,>=3.0.0,>=6.0.0",
                                "Resolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2",
                                "Resolved vexxhost.kubernetes to v3.3.0 for >=3.3.0,>=2.5.0",
                                "Resolved community.general to 7.3.0 for 7.3.0,>=4.5.0",
                                "Resolved ansible.utils to v6.0.3 for >=2.9.0,>=3.0.0,>=6.0.0",
                                "Resolved vexxhost.containers to v1.6.7 for >=1.1.1,>=1.6.0",
                                "Resolved ansible.posix to 1.6.0 for 1.6.0,>=1.6.0",
                                "Resolved community.crypto to 2.2.3 for 2.2.3,>=2.2.3",
                                "Resolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2",
                                "Resolved vexxhost.containers to v1.6.7 for >=1.1.1,>=1.6.0",
                                "Checked out ansible.netcommon to v8.5.3",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.netcommon",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.netcommon:8.5.3' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'",
                                "Created collection for ansible.netcommon:8.5.3 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon",
                                "ansible.netcommon:8.5.3 was installed successfully",
                                "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 pygments (1.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading pygments",
                                " Downloading setuptools",
                                " Downloading netaddr",
                                " Downloading kubernetes",
                                " Downloading cryptography",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 79 packages in 37ms",
                                "Checked out ansible.posix to 1.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.posix:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:1.6.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:1.6.0 was installed successfully",
                                "Checked out ansible.utils to v6.0.3",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.utils",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.utils:6.0.3' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "Created collection for ansible.utils:6.0.3 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils",
                                "ansible.utils:6.0.3 was installed successfully",
                                "Checked out atmosphere.common to v0.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/atmosphere.common",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'atmosphere.common:0.6.0' to '/home/zuul/.ansible/collections/ansible_collections/atmosphere/common'",
                                "Created collection for atmosphere.common:0.6.0 at /home/zuul/.ansible/collections/ansible_collections/atmosphere/common",
                                "atmosphere.common:0.6.0 was installed successfully",
                                "Checked out community.crypto to 2.2.3",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:2.2.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:2.2.3 was installed successfully",
                                "Checked out community.general to 7.3.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.general:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:7.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:7.3.0 was installed successfully",
                                "Checked out community.mysql to 3.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.mysql",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'",
                                "Created collection for community.mysql:3.6.0 at /home/zuul/.ansible/collections/ansible_collections/community/mysql",
                                "community.mysql:3.6.0 was installed successfully",
                                "Checked out kubernetes.core to 2.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:2.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:2.4.0 was installed successfully",
                                "Checked out openstack.cloud to 1.7.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'openstack.cloud:1.7.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'",
                                "Created collection for openstack.cloud:1.7.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud",
                                "openstack.cloud:1.7.0 was installed successfully",
                                "Checked out vexxhost.ceph to v4.0.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-ceph",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.ceph:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'",
                                "Created collection for vexxhost.ceph:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph",
                                "vexxhost.ceph:4.0.0 was installed successfully",
                                "Checked out vexxhost.containers to v1.6.7",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.containers:1.6.7' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'",
                                "Created collection for vexxhost.containers:1.6.7 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers",
                                "vexxhost.containers:1.6.7 was installed successfully",
                                "Checked out vexxhost.kubernetes to v3.3.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.kubernetes:3.3.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'",
                                "Created collection for vexxhost.kubernetes:3.3.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes",
                                "vexxhost.kubernetes:3.3.0 was installed successfully"
                            ],
                            "msg": "Sibling collection ansible.netcommon at /home/zuul/src/github.com/ansible-collections/ansible.netcommon\nSibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix\nSibling collection ansible.utils at /home/zuul/src/github.com/ansible-collections/ansible.utils\nSibling collection community.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto\nSibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general\nSibling collection community.mysql at /home/zuul/src/github.com/ansible-collections/community.mysql\nSibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core\nSibling collection vexxhost.ceph at /home/zuul/src/github.com/vexxhost/ansible-collection-ceph\nSibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nSibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nSibling collection atmosphere.common at /home/zuul/src/github.com/vexxhost/atmosphere.common\nSibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nResolved ansible.netcommon to v8.5.3 for >=1.2.0\nResolved ansible.posix to 1.6.0 for 1.6.0\nResolved ansible.utils to v6.0.3 for >=2.9.0,>=3.0.0\nResolved community.crypto to 2.2.3 for 2.2.3\nResolved community.general to 7.3.0 for 7.3.0\nResolved community.mysql to 3.6.0 for 3.6.0\nResolved kubernetes.core to 2.4.0 for 2.4.0\nResolved openstack.cloud to 1.7.0 for 1.7.0\nResolved atmosphere.common to v0.6.0 for >=0.6.0,<0.7.0\nResolved vexxhost.ceph to v4.0.0 for >=3.1.2\nResolved vexxhost.kubernetes to v3.3.0 for >=3.3.0,>=2.5.0\nResolved ansible.utils to v6.0.3 for >=2.9.0,>=3.0.0,>=6.0.0\nResolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2\nResolved vexxhost.kubernetes to v3.3.0 for >=3.3.0,>=2.5.0\nResolved community.general to 7.3.0 for 7.3.0,>=4.5.0\nResolved ansible.utils to v6.0.3 for >=2.9.0,>=3.0.0,>=6.0.0\nResolved vexxhost.containers to v1.6.7 for >=1.1.1,>=1.6.0\nResolved ansible.posix to 1.6.0 for 1.6.0,>=1.6.0\nResolved community.crypto to 2.2.3 for 2.2.3,>=2.2.3\nResolved kubernetes.core to 2.4.0 for 2.4.0,>=2.4.0,>=2.3.2\nResolved vexxhost.containers to v1.6.7 for >=1.1.1,>=1.6.0\nChecked out ansible.netcommon to v8.5.3\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.netcommon\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.netcommon:8.5.3' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'\nCreated collection for ansible.netcommon:8.5.3 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon\nansible.netcommon:8.5.3 was installed successfully\nUsing 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 pygments (1.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading netaddr (2.2MiB)\nDownloading setuptools (1.1MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading cryptography (4.2MiB)\nDownloading kubernetes (1.9MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading pygments\n Downloading setuptools\n Downloading netaddr\n Downloading kubernetes\n Downloading cryptography\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 37ms\nChecked out ansible.posix to 1.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.posix:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:1.6.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:1.6.0 was installed successfully\nChecked out ansible.utils to v6.0.3\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.utils\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.utils:6.0.3' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nCreated collection for ansible.utils:6.0.3 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils\nansible.utils:6.0.3 was installed successfully\nChecked out atmosphere.common to v0.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/atmosphere.common\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'atmosphere.common:0.6.0' to '/home/zuul/.ansible/collections/ansible_collections/atmosphere/common'\nCreated collection for atmosphere.common:0.6.0 at /home/zuul/.ansible/collections/ansible_collections/atmosphere/common\natmosphere.common:0.6.0 was installed successfully\nChecked out community.crypto to 2.2.3\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:2.2.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:2.2.3 was installed successfully\nChecked out community.general to 7.3.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.general:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:7.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:7.3.0 was installed successfully\nChecked out community.mysql to 3.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.mysql\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'\nCreated collection for community.mysql:3.6.0 at /home/zuul/.ansible/collections/ansible_collections/community/mysql\ncommunity.mysql:3.6.0 was installed successfully\nChecked out kubernetes.core to 2.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:2.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:2.4.0 was installed successfully\nChecked out openstack.cloud to 1.7.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'openstack.cloud:1.7.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'\nCreated collection for openstack.cloud:1.7.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud\nopenstack.cloud:1.7.0 was installed successfully\nChecked out vexxhost.ceph to v4.0.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-ceph\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.ceph:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'\nCreated collection for vexxhost.ceph:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph\nvexxhost.ceph:4.0.0 was installed successfully\nChecked out vexxhost.containers to v1.6.7\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.containers:1.6.7' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'\nCreated collection for vexxhost.containers:1.6.7 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers\nvexxhost.containers:1.6.7 was installed successfully\nChecked out vexxhost.kubernetes to v3.3.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.kubernetes:3.3.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'\nCreated collection for vexxhost.kubernetes:3.3.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes\nvexxhost.kubernetes:3.3.0 was installed successfully"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:35.218953Z",
                            "start": "2026-06-26T02:04:25.236838Z"
                        },
                        "id": "0242ac17-0010-2c9b-a704-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere-zuul-jobs/playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-26T02:04:45.722509Z",
                    "start": "2026-06-26T02:04:36.120678Z"
                },
                "id": "0242ac17-0010-9e61-8b29-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1782439481,
                            "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 1 not upgraded.\nNeed to get 359 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]\nFetched 359 kB in 1s (567 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 ... 30898 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.2_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.2) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.2) ...\r\nSetting up jq (1.6-2.1ubuntu3.2) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.",
                                "Need to get 359 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.2 [135 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.2 [52.5 kB]",
                                "Fetched 359 kB in 1s (567 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 ... 30898 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.2_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.2) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.2) ...",
                                "Setting up jq (1.6-2.1ubuntu3.2) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:45.722509Z",
                            "start": "2026-06-26T02:04:36.134034Z"
                        },
                        "id": "0242ac17-0010-9e61-8b29-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-06-26T02:15:01.283566Z",
                    "start": "2026-06-26T02:04:46.589479Z"
                },
                "id": "0242ac17-0010-4a58-3217-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.stat",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere",
                                    "stat": {
                                        "atime": 1782439467.738039,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1782439466.0140293,
                                        "dev": 64513,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1046047,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1782439466.0140293,
                                        "nlink": 22,
                                        "path": "src/github.com/vexxhost/atmosphere",
                                        "pw_name": "zuul",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 4096,
                                        "uid": 1000,
                                        "version": "1112745032",
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": true,
                                        "xoth": true,
                                        "xusr": true
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere/molecule/aio/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere/molecule/aio/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:47.268123Z",
                            "start": "2026-06-26T02:04:46.608678Z"
                        },
                        "id": "0242ac17-0010-4a58-3217-000000000004",
                        "name": "Check inventory directories"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "checksum": "30feb33a9bbc741fa0b9f23ae19cdce8d92c0e40",
                                    "dest": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "inventory.yaml",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "30feb33a9bbc741fa0b9f23ae19cdce8d92c0e40",
                                            "content": null,
                                            "dest": "src/github.com/vexxhost/atmosphere",
                                            "directory_mode": null,
                                            "follow": false,
                                            "force": true,
                                            "group": null,
                                            "local_follow": null,
                                            "mode": "0644",
                                            "owner": null,
                                            "remote_src": null,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1782439487.347307-9-53374573238913/source",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere",
                                        "stat": {
                                            "atime": 1782439467.738039,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1782439466.0140293,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1046047,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1782439466.0140293,
                                            "nlink": 22,
                                            "path": "src/github.com/vexxhost/atmosphere",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "1112745032",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "af7c557c474400a1dd9392a69113a498",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 48725,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1782439487.347307-9-53374573238913/source",
                                    "state": "file",
                                    "uid": 1000
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/molecule/aio/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:48.099435Z",
                            "start": "2026-06-26T02:04:47.274605Z"
                        },
                        "id": "0242ac17-0010-4a58-3217-000000000005",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "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
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere",
                                        "stat": {
                                            "atime": 1782439467.738039,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1782439466.0140293,
                                            "dev": 64513,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1046047,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1782439466.0140293,
                                            "nlink": 22,
                                            "path": "src/github.com/vexxhost/atmosphere",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "1112745032",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/molecule/aio/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere/extensions/molecule/aio/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:04:48.480795Z",
                            "start": "2026-06-26T02:04:48.114714Z"
                        },
                        "id": "0242ac17-0010-4a58-3217-000000000006",
                        "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:10:12.287528",
                            "end": "2026-06-26 02:15:01.137764",
                            "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-0010-4a58-3217-000000000007-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-06-26 02:04:48.850236",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "WARNING  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] *********************************************************\nFriday 26 June 2026  02:05:05 +0000 (0:00:00.026)       0:00:00.026 ***********\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] ************************************************\nFriday 26 June 2026  02:05:06 +0000 (0:00:01.202)       0:00:01.228 ***********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nFriday 26 June 2026  02:05:07 +0000 (0:00:00.686)       0:00:01.915 ***********\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] **************************\nFriday 26 June 2026  02:05:07 +0000 (0:00:00.280)       0:00:02.195 ***********\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nFriday 26 June 2026  02:05:09 +0000 (0:00:01.137)       0:00:03.333 ***********\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nFriday 26 June 2026  02:05:09 +0000 (0:00:00.780)       0:00:04.113 ***********\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] *****************\nFriday 26 June 2026  02:05:10 +0000 (0:00:01.082)       0:00:05.195 ***********\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.184)       0:00:05.380 ***********\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.025)       0:00:05.405 ***********\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': '42544da8-af7c-53cd-94ab-92fd2eb06930'})\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] *****************\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.051)       0:00:05.457 ***********\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.528)       0:00:05.986 ***********\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.174)       0:00:06.160 ***********\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.029)       0:00:06.190 ***********\nok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})\n\nTASK [Write new Ceph OSDs configuration file to disk] **************************\nFriday 26 June 2026  02:05:11 +0000 (0:00:00.032)       0:00:06.223 ***********\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nFriday 26 June 2026  02:05:12 +0000 (0:00:00.360)       0:00:06.583 ***********\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nFriday 26 June 2026  02:05:12 +0000 (0:00:00.175)       0:00:06.759 ***********\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nFriday 26 June 2026  02:05:12 +0000 (0:00:00.026)       0:00:06.785 ***********\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] *************************\nFriday 26 June 2026  02:05:12 +0000 (0:00:00.043)       0:00:06.828 ***********\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nFriday 26 June 2026  02:05:12 +0000 (0:00:00.351)       0:00:07.180 ***********\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nFriday 26 June 2026  02:05:13 +0000 (0:00:00.178)       0:00:07.359 ***********\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nFriday 26 June 2026  02:05:13 +0000 (0:00:00.029)       0:00:07.388 ***********\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] *************************\nFriday 26 June 2026  02:05:13 +0000 (0:00:00.042)       0:00:07.431 ***********\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:05:13 +0000 (0:00:00.364)       0:00:07.795 ***********\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nFriday 26 June 2026  02:05:14 +0000 (0:00:00.701)       0:00:08.497 ***********\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nFriday 26 June 2026  02:05:14 +0000 (0:00:00.183)       0:00:08.680 ***********\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nFriday 26 June 2026  02:05:14 +0000 (0:00:00.029)       0:00:08.709 ***********\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] ****************************************\nFriday 26 June 2026  02:05:15 +0000 (0:00:00.836)       0:00:09.546 ***********\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nFriday 26 June 2026  02:05:15 +0000 (0:00:00.352)       0:00:09.899 ***********\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nFriday 26 June 2026  02:05:15 +0000 (0:00:00.187)       0:00:10.086 ***********\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nFriday 26 June 2026  02:05:15 +0000 (0:00:00.176)       0:00:10.263 ***********\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nFriday 26 June 2026  02:05:16 +0000 (0:00:00.032)       0:00:10.295 ***********\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] ****************************\nFriday 26 June 2026  02:05:16 +0000 (0:00:00.042)       0:00:10.338 ***********\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nFriday 26 June 2026  02:05:16 +0000 (0:00:00.357)       0:00:10.695 ***********\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nFriday 26 June 2026  02:05:16 +0000 (0:00:00.205)       0:00:10.900 ***********\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nFriday 26 June 2026  02:05:16 +0000 (0:00:00.033)       0:00:10.934 ***********\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] *******************************\nFriday 26 June 2026  02:05:16 +0000 (0:00:00.041)       0:00:10.975 ***********\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nFriday 26 June 2026  02:05:17 +0000 (0:00:00.367)       0:00:11.342 ***********\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nFriday 26 June 2026  02:05:17 +0000 (0:00:00.176)       0:00:11.519 ***********\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nFriday 26 June 2026  02:05:17 +0000 (0:00:00.031)       0:00:11.551 ***********\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] *****************************************\nFriday 26 June 2026  02:05:17 +0000 (0:00:00.428)       0:00:11.979 ***********\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nFriday 26 June 2026  02:05:17 +0000 (0:00:00.057)       0:00:12.037 ***********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nFriday 26 June 2026  02:05:18 +0000 (0:00:00.455)       0:00:12.493 ***********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nFriday 26 June 2026  02:05:22 +0000 (0:00:04.557)       0:00:17.050 ***********\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nFriday 26 June 2026  02:05:22 +0000 (0:00:00.056)       0:00:17.107 ***********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nFriday 26 June 2026  02:05:23 +0000 (0:00:00.380)       0:00:17.488 ***********\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nFriday 26 June 2026  02:05:23 +0000 (0:00:00.374)       0:00:17.862 ***********\nskipping: [localhost]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:05:23 +0000 (0:00:00.037)       0:00:17.899 ***********\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nFriday 26 June 2026  02:05:24 +0000 (0:00:00.719)       0:00:18.619 ***********\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nFriday 26 June 2026  02:05:24 +0000 (0:00:00.337)       0:00:18.957 ***********\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nFriday 26 June 2026  02:05:24 +0000 (0:00:00.215)       0:00:19.172 ***********\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nFriday 26 June 2026  02:05:25 +0000 (0:00:00.202)       0:00:19.375 ***********\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nFriday 26 June 2026  02:05:25 +0000 (0:00:00.196)       0:00:19.571 ***********\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:05:25 +0000 (0:00:00.391)       0:00:19.963 ***********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nFriday 26 June 2026  02:05:26 +0000 (0:00:00.739)       0:00:20.702 ***********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nFriday 26 June 2026  02:05:51 +0000 (0:00:24.887)       0:00:45.589 ***********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nFriday 26 June 2026  02:05:51 +0000 (0:00:00.539)       0:00:46.128 ***********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nFriday 26 June 2026  02:05:52 +0000 (0:00:00.214)       0:00:46.343 ***********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nFriday 26 June 2026  02:05:52 +0000 (0:00:00.469)       0:00:46.812 ***********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nFriday 26 June 2026  02:05:52 +0000 (0:00:00.193)       0:00:47.006 ***********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nFriday 26 June 2026  02:05:52 +0000 (0:00:00.025)       0:00:47.032 ***********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nFriday 26 June 2026  02:05:53 +0000 (0:00:00.575)       0:00:47.607 ***********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nFriday 26 June 2026  02:05:53 +0000 (0:00:00.536)       0:00:48.144 ***********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nFriday 26 June 2026  02:05:54 +0000 (0:00:00.747)       0:00:48.891 ***********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nFriday 26 June 2026  02:05:57 +0000 (0:00:03.203)       0:00:52.095 ***********\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] *********************************************************\nFriday 26 June 2026  02:05:59 +0000 (0:00:01.911)       0:00:54.006 ***********\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nFriday 26 June 2026  02:06:00 +0000 (0:00:00.926)       0:00:54.933 ***********\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\nFriday 26 June 2026  02:06:01 +0000 (0:00:00.467)       0:00:55.401 ***********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 24.89s\nGenerate SSH keys for missing variables --------------------------------- 4.56s\nCreate a volume group for each loop device ------------------------------ 3.20s\nCreate a logical volume for each loop device ---------------------------- 1.91s\nGathering Facts --------------------------------------------------------- 1.20s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.14s\nCreate folders for workspace -------------------------------------------- 1.08s\nGathering Facts --------------------------------------------------------- 0.93s\nGenerate endpoint skeleton for missing variables ------------------------ 0.84s\nPurge \"snapd\" package --------------------------------------------------- 0.78s\nStart loop devices ------------------------------------------------------ 0.75s\nGathering Facts --------------------------------------------------------- 0.74s\nGathering Facts --------------------------------------------------------- 0.72s\nGathering Facts --------------------------------------------------------- 0.70s\nConfigure short hostname ------------------------------------------------ 0.69s\nCreate devices for Ceph ------------------------------------------------- 0.58s\nStart up service -------------------------------------------------------- 0.54s\nSet permissions on loopback devices ------------------------------------- 0.54s\nWrite new Ceph control plane configuration file to disk ----------------- 0.53s\nWrite /etc/lvm/lvm.conf ------------------------------------------------- 0.47s\nINFO     [aio > prepare] Executed: Successful\nINFO     [aio > converge] Executing\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:06:04 +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] *****************\nFriday 26 June 2026  02:06:05 +0000 (0:00:01.248)       0:00:01.267 ***********\nok: [instance]\n\nPLAY [Deploy Ceph monitors & managers] *****************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:06:05 +0000 (0:00:00.192)       0:00:01.459 ***********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:06:06 +0000 (0:00:00.919)       0:00:02.379 ***********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:06:06 +0000 (0:00:00.299)       0:00:02.678 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 26 June 2026  02:06:06 +0000 (0:00:00.046)       0:00:02.725 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:06:07 +0000 (0:00:00.298)       0:00:03.024 ***********\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] *******************\nFriday 26 June 2026  02:06:07 +0000 (0:00:00.075)       0:00:03.099 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:06:08 +0000 (0:00:00.798)       0:00:03.898 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:06:08 +0000 (0:00:00.055)       0:00:03.953 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:06:08 +0000 (0:00:00.055)       0:00:04.009 ***********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:06:08 +0000 (0:00:00.206)       0:00:04.215 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:06:10 +0000 (0:00:01.605)       0:00:05.821 ***********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 26 June 2026  02:06:10 +0000 (0:00:00.073)       0:00:05.895 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:06:10 +0000 (0:00:00.862)       0:00:06.757 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 26 June 2026  02:06:13 +0000 (0:00:02.940)       0:00:09.698 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 26 June 2026  02:06:13 +0000 (0:00:00.040)       0:00:09.739 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 26 June 2026  02:06:13 +0000 (0:00:00.041)       0:00:09.780 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 26 June 2026  02:06:14 +0000 (0:00:00.035)       0:00:09.816 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 26 June 2026  02:06:20 +0000 (0:00:06.116)       0:00:15.932 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 26 June 2026  02:06:20 +0000 (0:00:00.659)       0:00:16.592 ***********\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] **********\nFriday 26 June 2026  02:06:21 +0000 (0:00:00.955)       0:00:17.548 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 26 June 2026  02:06:22 +0000 (0:00:00.601)       0:00:18.149 ***********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nFriday 26 June 2026  02:06:22 +0000 (0:00:00.010)       0:00:18.160 ***********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nFriday 26 June 2026  02:06:23 +0000 (0:00:00.993)       0:00:19.153 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 26 June 2026  02:06:23 +0000 (0:00:00.493)       0:00:19.647 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:06:24 +0000 (0:00:00.589)       0:00:20.236 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:06:24 +0000 (0:00:00.228)       0:00:20.465 ***********\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] *******************\nFriday 26 June 2026  02:06:24 +0000 (0:00:00.054)       0:00:20.519 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:06:25 +0000 (0:00:00.840)       0:00:21.359 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nFriday 26 June 2026  02:06:30 +0000 (0:00:04.441)       0:00:25.801 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nFriday 26 June 2026  02:06:31 +0000 (0:00:01.253)       0:00:27.055 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nFriday 26 June 2026  02:06:31 +0000 (0:00:00.667)       0:00:27.723 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nFriday 26 June 2026  02:06:32 +0000 (0:00:00.486)       0:00:28.209 ***********\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] ******\nFriday 26 June 2026  02:06:32 +0000 (0:00:00.575)       0:00:28.785 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nFriday 26 June 2026  02:06:33 +0000 (0:00:00.491)       0:00:29.276 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nFriday 26 June 2026  02:06:33 +0000 (0:00:00.482)       0:00:29.758 ***********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\nFriday 26 June 2026  02:06:33 +0000 (0:00:00.008)       0:00:29.767 ***********\nok: [instance]\n\nRUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\nFriday 26 June 2026  02:06:34 +0000 (0:00:00.747)       0:00:30.514 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nFriday 26 June 2026  02:06:35 +0000 (0:00:01.214)       0:00:31.729 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nFriday 26 June 2026  02:06:36 +0000 (0:00:00.607)       0:00:32.336 ***********\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] ********************************\nFriday 26 June 2026  02:06:36 +0000 (0:00:00.063)       0:00:32.400 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nFriday 26 June 2026  02:06:41 +0000 (0:00:05.008)       0:00:37.408 ***********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nFriday 26 June 2026  02:06:42 +0000 (0:00:00.656)       0:00:38.065 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nFriday 26 June 2026  02:06:42 +0000 (0:00:00.285)       0:00:38.351 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nFriday 26 June 2026  02:06:42 +0000 (0:00:00.198)       0:00:38.550 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nFriday 26 June 2026  02:06:43 +0000 (0:00:00.555)       0:00:39.105 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\nFriday 26 June 2026  02:06:43 +0000 (0:00:00.390)       0:00:39.496 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\nFriday 26 June 2026  02:06:43 +0000 (0:00:00.117)       0:00:39.613 ***********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\nFriday 26 June 2026  02:06:44 +0000 (0:00:00.214)       0:00:39.827 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\nFriday 26 June 2026  02:06:44 +0000 (0:00:00.052)       0:00:39.880 ***********\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\"] *************\nFriday 26 June 2026  02:06:44 +0000 (0:00:00.075)       0:00:39.955 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Include extra configuration values] ******************\nFriday 26 June 2026  02:06:44 +0000 (0:00:00.349)       0:00:40.305 ***********\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 command] *******************************\nFriday 26 June 2026  02:06:45 +0000 (0:00:00.707)       0:00:41.012 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************\nFriday 26 June 2026  02:08:14 +0000 (0:01:29.237)       0:02:10.250 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\nFriday 26 June 2026  02:08:14 +0000 (0:00:00.224)       0:02:10.475 ***********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nFriday 26 June 2026  02:08:14 +0000 (0:00:00.045)       0:02:10.521 ***********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nFriday 26 June 2026  02:08:14 +0000 (0:00:00.088)       0:02:10.610 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nFriday 26 June 2026  02:08:20 +0000 (0:00:05.652)       0:02:16.262 ***********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nFriday 26 June 2026  02:08:20 +0000 (0:00:00.050)       0:02:16.313 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nFriday 26 June 2026  02:08:20 +0000 (0:00:00.442)       0:02:16.755 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************\nFriday 26 June 2026  02:08:27 +0000 (0:00:06.436)       0:02:23.192 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\nFriday 26 June 2026  02:09:52 +0000 (0:01:24.706)       0:03:47.899 ***********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nFriday 26 June 2026  02:10:06 +0000 (0:00:14.085)       0:04:01.984 ***********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nFriday 26 June 2026  02:10:06 +0000 (0:00:00.081)       0:04:02.066 ***********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nFriday 26 June 2026  02:10:06 +0000 (0:00:00.047)       0:04:02.113 ***********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nFriday 26 June 2026  02:10:06 +0000 (0:00:00.050)       0:04:02.164 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nFriday 26 June 2026  02:10:06 +0000 (0:00:00.254)       0:04:02.419 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************\nFriday 26 June 2026  02:10:13 +0000 (0:00:06.420)       0:04:08.839 ***********\nchanged: [instance]\n\nTASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\nFriday 26 June 2026  02:10:25 +0000 (0:00:12.207)       0:04:21.046 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.mgr : Configure manager modules] ***************************\nFriday 26 June 2026  02:10:31 +0000 (0:00:06.014)       0:04:27.061 ***********\nchanged: [instance] => (item={'name': 'diskprediction_local'})\nok: [instance] => (item={'name': 'dashboard'})\nchanged: [instance] => (item={'name': 'prometheus'})\nok: [instance] => (item={'name': 'iostat'})\n\nPLAY [Deploy Ceph OSDs] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:10:39 +0000 (0:00:08.011)       0:04:35.072 ***********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:10:40 +0000 (0:00:00.941)       0:04:36.013 ***********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:10:40 +0000 (0:00:00.218)       0:04:36.232 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 26 June 2026  02:10:40 +0000 (0:00:00.044)       0:04:36.276 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:10:40 +0000 (0:00:00.220)       0:04:36.497 ***********\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] *******************\nFriday 26 June 2026  02:10:40 +0000 (0:00:00.051)       0:04:36.549 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:10:41 +0000 (0:00:00.309)       0:04:36.858 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:10:41 +0000 (0:00:00.047)       0:04:36.905 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:10:41 +0000 (0:00:00.044)       0:04:36.950 ***********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:10:41 +0000 (0:00:00.198)       0:04:37.148 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:10:42 +0000 (0:00:01.304)       0:04:38.452 ***********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 26 June 2026  02:10:42 +0000 (0:00:00.068)       0:04:38.521 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:10:43 +0000 (0:00:00.340)       0:04:38.861 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 26 June 2026  02:10:45 +0000 (0:00:01.950)       0:04:40.812 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 26 June 2026  02:10:45 +0000 (0:00:00.033)       0:04:40.845 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 26 June 2026  02:10:45 +0000 (0:00:00.031)       0:04:40.877 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 26 June 2026  02:10:45 +0000 (0:00:00.033)       0:04:40.911 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 26 June 2026  02:10:46 +0000 (0:00:01.209)       0:04:42.120 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 26 June 2026  02:10:46 +0000 (0:00:00.425)       0:04:42.546 ***********\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] **********\nFriday 26 June 2026  02:10:47 +0000 (0:00:00.933)       0:04:43.480 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 26 June 2026  02:10:49 +0000 (0:00:01.520)       0:04:45.001 ***********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 26 June 2026  02:10:49 +0000 (0:00:00.007)       0:04:45.009 ***********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:10:49 +0000 (0:00:00.369)       0:04:45.379 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:10:49 +0000 (0:00:00.210)       0:04:45.590 ***********\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] *******************\nFriday 26 June 2026  02:10:49 +0000 (0:00:00.047)       0:04:45.637 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:10:50 +0000 (0:00:00.360)       0:04:45.998 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Install AppArmor packages] ******************\nFriday 26 June 2026  02:10:53 +0000 (0:00:03.149)       0:04:49.147 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************\nFriday 26 June 2026  02:10:54 +0000 (0:00:01.058)       0:04:50.205 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create systemd service file for docker] *****\nFriday 26 June 2026  02:10:54 +0000 (0:00:00.205)       0:04:50.411 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create folders for configuration] ***********\nFriday 26 June 2026  02:10:55 +0000 (0:00:00.467)       0:04:50.879 ***********\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] ******\nFriday 26 June 2026  02:10:55 +0000 (0:00:00.595)       0:04:51.474 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Create docker daemon config file] ***********\nFriday 26 June 2026  02:10:56 +0000 (0:00:00.452)       0:04:51.927 ***********\nok: [instance]\n\nTASK [vexxhost.containers.docker : Force any restarts if necessary] ************\nFriday 26 June 2026  02:10:56 +0000 (0:00:00.467)       0:04:52.394 ***********\n\nTASK [vexxhost.containers.docker : Enable and start service] *******************\nFriday 26 June 2026  02:10:56 +0000 (0:00:00.006)       0:04:52.401 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\nFriday 26 June 2026  02:10:56 +0000 (0:00:00.353)       0:04:52.755 ***********\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] ********************************\nFriday 26 June 2026  02:10:57 +0000 (0:00:00.048)       0:04:52.803 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\nFriday 26 June 2026  02:10:58 +0000 (0:00:01.275)       0:04:54.079 ***********\nok: [instance] => (item=chronyd)\nok: [instance] => (item=sshd)\n\nTASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************\nFriday 26 June 2026  02:10:59 +0000 (0:00:00.723)       0:04:54.802 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\nFriday 26 June 2026  02:10:59 +0000 (0:00:00.304)       0:04:55.107 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************\nFriday 26 June 2026  02:10:59 +0000 (0:00:00.199)       0:04:55.306 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***\nFriday 26 June 2026  02:10:59 +0000 (0:00:00.249)       0:04:55.555 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get monitor status] **********************************\nFriday 26 June 2026  02:10:59 +0000 (0:00:00.218)       0:04:55.774 ***********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.ceph.osd : Select admin host] ***********************************\nFriday 26 June 2026  02:11:00 +0000 (0:00:00.244)       0:04:56.019 ***********\nok: [instance]\n\nTASK [Install Ceph host] *******************************************************\nFriday 26 June 2026  02:11:00 +0000 (0:00:00.054)       0:04:56.073 ***********\nincluded: vexxhost.ceph.cephadm_host for instance\n\nTASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******\nFriday 26 June 2026  02:11:00 +0000 (0:00:00.070)       0:04:56.143 ***********\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***\nFriday 26 June 2026  02:11:00 +0000 (0:00:00.051)       0:04:56.195 ***********\nskipping: [instance] => (item=instance)\nskipping: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********\nFriday 26 June 2026  02:11:00 +0000 (0:00:00.048)       0:04:56.243 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\nFriday 26 June 2026  02:11:00 +0000 (0:00:00.267)       0:04:56.511 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\nFriday 26 June 2026  02:11:07 +0000 (0:00:06.447)       0:05:02.959 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\nFriday 26 June 2026  02:11:12 +0000 (0:00:05.344)       0:05:08.303 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Install OSDs] ****************************************\nFriday 26 June 2026  02:11:26 +0000 (0:00:13.997)       0:05:22.300 ***********\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] ****************************************\nFriday 26 June 2026  02:12:59 +0000 (0:01:32.851)       0:06:55.152 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Mark require osd release] ****************************\nFriday 26 June 2026  02:13:05 +0000 (0:00:05.836)       0:07:00.989 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\nFriday 26 June 2026  02:13:11 +0000 (0:00:06.059)       0:07:07.049 ***********\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] *********************************\nFriday 26 June 2026  02:13:11 +0000 (0:00:00.083)       0:07:07.132 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\nFriday 26 June 2026  02:13:11 +0000 (0:00:00.197)       0:07:07.329 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : OSD daemon list] *************************************\nFriday 26 June 2026  02:13:17 +0000 (0:00:06.126)       0:07:13.456 ***********\nok: [instance]\n\nTASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\nFriday 26 June 2026  02:13:17 +0000 (0:00:00.053)       0:07:13.509 ***********\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] ************************\nFriday 26 June 2026  02:13:17 +0000 (0:00:00.054)       0:07:13.564 ***********\nskipping: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Ensure RBD kernel module is loaded] **************************************\nFriday 26 June 2026  02:13:17 +0000 (0:00:00.052)       0:07:13.616 ***********\nchanged: [instance]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:13:18 +0000 (0:00:00.321)       0:07:13.938 ***********\nok: [instance]\n\nTASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\nFriday 26 June 2026  02:13:19 +0000 (0:00:00.966)       0:07:14.905 ***********\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] ***\nFriday 26 June 2026  02:13:22 +0000 (0:00:03.862)       0:07:18.767 ***********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******\nFriday 26 June 2026  02:13:23 +0000 (0:00:00.201)       0:07:18.969 ***********\nchanged: [instance]\n\nTASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************\nFriday 26 June 2026  02:13:23 +0000 (0:00:00.477)       0:07:19.447 ***********\nok: [instance]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nFriday 26 June 2026  02:13:23 +0000 (0:00:00.252)       0:07:19.700 ***********\nok: [instance]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:13:23 +0000 (0:00:00.053)       0:07:19.753 ***********\nok: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nFriday 26 June 2026  02:13:24 +0000 (0:00:00.940)       0:07:20.694 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nFriday 26 June 2026  02:13:25 +0000 (0:00:00.246)       0:07:20.940 ***********\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] ****\nFriday 26 June 2026  02:13:26 +0000 (0:00:00.917)       0:07:21.858 ***********\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] *********\nFriday 26 June 2026  02:13:26 +0000 (0:00:00.537)       0:07:22.396 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nFriday 26 June 2026  02:13:26 +0000 (0:00:00.189)       0:07:22.585 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nFriday 26 June 2026  02:13:26 +0000 (0:00:00.198)       0:07:22.784 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nFriday 26 June 2026  02:13:27 +0000 (0:00:00.034)       0:07:22.818 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nFriday 26 June 2026  02:13:27 +0000 (0:00:00.043)       0:07:22.861 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nFriday 26 June 2026  02:13:27 +0000 (0:00:00.565)       0:07:23.427 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nFriday 26 June 2026  02:13:27 +0000 (0:00:00.248)       0:07:23.675 ***********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 26 June 2026  02:13:27 +0000 (0:00:00.058)       0:07:23.734 ***********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:13:28 +0000 (0:00:00.956)       0:07:24.691 ***********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:13:29 +0000 (0:00:00.215)       0:07:24.906 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 26 June 2026  02:13:29 +0000 (0:00:00.049)       0:07:24.956 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:29 +0000 (0:00:00.233)       0:07:25.190 ***********\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] *******************\nFriday 26 June 2026  02:13:29 +0000 (0:00:00.058)       0:07:25.248 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:29 +0000 (0:00:00.325)       0:07:25.574 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:13:29 +0000 (0:00:00.051)       0:07:25.626 ***********\nok: [instance]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 26 June 2026  02:13:30 +0000 (0:00:00.230)       0:07:25.856 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:31 +0000 (0:00:01.217)       0:07:27.073 ***********\nok: [instance] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 26 June 2026  02:13:31 +0000 (0:00:00.076)       0:07:27.150 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:31 +0000 (0:00:00.376)       0:07:27.527 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 26 June 2026  02:13:33 +0000 (0:00:02.072)       0:07:29.600 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 26 June 2026  02:13:33 +0000 (0:00:00.036)       0:07:29.636 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 26 June 2026  02:13:33 +0000 (0:00:00.041)       0:07:29.678 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 26 June 2026  02:13:33 +0000 (0:00:00.035)       0:07:29.713 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 26 June 2026  02:13:35 +0000 (0:00:01.132)       0:07:30.845 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 26 June 2026  02:13:35 +0000 (0:00:00.465)       0:07:31.311 ***********\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] **********\nFriday 26 June 2026  02:13:36 +0000 (0:00:01.013)       0:07:32.324 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 26 June 2026  02:13:37 +0000 (0:00:00.543)       0:07:32.868 ***********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 26 June 2026  02:13:37 +0000 (0:00:00.008)       0:07:32.877 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nFriday 26 June 2026  02:13:37 +0000 (0:00:00.384)       0:07:33.262 ***********\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] ***\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.715)       0:07:33.977 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.038)       0:07:34.016 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.038)       0:07:34.054 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.034)       0:07:34.088 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.040)       0:07:34.128 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.049)       0:07:34.177 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.213)       0:07:34.391 ***********\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] *******************\nFriday 26 June 2026  02:13:38 +0000 (0:00:00.045)       0:07:34.436 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:39 +0000 (0:00:00.781)       0:07:35.217 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:13:39 +0000 (0:00:00.050)       0:07:35.268 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:39 +0000 (0:00:00.212)       0:07:35.480 ***********\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] *******************\nFriday 26 June 2026  02:13:39 +0000 (0:00:00.040)       0:07:35.521 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:40 +0000 (0:00:00.623)       0:07:36.145 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 26 June 2026  02:13:40 +0000 (0:00:00.051)       0:07:36.196 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 26 June 2026  02:13:40 +0000 (0:00:00.031)       0:07:36.228 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 26 June 2026  02:13:40 +0000 (0:00:00.039)       0:07:36.268 ***********\nskipping: [instance]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 26 June 2026  02:13:40 +0000 (0:00:00.037)       0:07:36.305 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 26 June 2026  02:13:41 +0000 (0:00:01.204)       0:07:37.510 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 26 June 2026  02:13:42 +0000 (0:00:00.447)       0:07:37.958 ***********\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] **********\nFriday 26 June 2026  02:13:43 +0000 (0:00:00.938)       0:07:38.896 ***********\nok: [instance]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 26 June 2026  02:13:43 +0000 (0:00:00.543)       0:07:39.440 ***********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 26 June 2026  02:13:43 +0000 (0:00:00.010)       0:07:39.450 ***********\nok: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:13:44 +0000 (0:00:00.366)       0:07:39.817 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:44 +0000 (0:00:00.229)       0:07:40.046 ***********\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] *******************\nFriday 26 June 2026  02:13:44 +0000 (0:00:00.054)       0:07:40.101 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:44 +0000 (0:00:00.580)       0:07:40.682 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:46 +0000 (0:00:01.413)       0:07:42.096 ***********\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] *******************\nFriday 26 June 2026  02:13:46 +0000 (0:00:00.065)       0:07:42.162 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:47 +0000 (0:00:00.662)       0:07:42.824 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nFriday 26 June 2026  02:13:48 +0000 (0:00:01.395)       0:07:44.220 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nFriday 26 June 2026  02:13:48 +0000 (0:00:00.492)       0:07:44.712 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 26 June 2026  02:13:49 +0000 (0:00:00.230)       0:07:44.942 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:49 +0000 (0:00:00.214)       0:07:45.157 ***********\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] *******************\nFriday 26 June 2026  02:13:49 +0000 (0:00:00.066)       0:07:45.223 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:50 +0000 (0:00:00.836)       0:07:46.060 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nFriday 26 June 2026  02:13:52 +0000 (0:00:02.729)       0:07:48.790 ***********\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] ***********\nFriday 26 June 2026  02:13:53 +0000 (0:00:00.051)       0:07:48.841 ***********\nok: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nFriday 26 June 2026  02:13:54 +0000 (0:00:01.442)       0:07:50.284 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nFriday 26 June 2026  02:13:55 +0000 (0:00:01.224)       0:07:51.508 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nFriday 26 June 2026  02:13:56 +0000 (0:00:00.487)       0:07:51.996 ***********\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] *********************\nFriday 26 June 2026  02:13:57 +0000 (0:00:00.844)       0:07:52.841 ***********\nok: [instance]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 26 June 2026  02:13:57 +0000 (0:00:00.216)       0:07:53.057 ***********\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] *******************\nFriday 26 June 2026  02:13:57 +0000 (0:00:00.052)       0:07:53.110 ***********\nchanged: [instance]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 26 June 2026  02:13:58 +0000 (0:00:01.232)       0:07:54.342 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nFriday 26 June 2026  02:13:58 +0000 (0:00:00.045)       0:07:54.388 ***********\nok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nFriday 26 June 2026  02:13:58 +0000 (0:00:00.065)       0:07:54.453 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nFriday 26 June 2026  02:13:58 +0000 (0:00:00.046)       0:07:54.500 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nFriday 26 June 2026  02:14:02 +0000 (0:00:03.902)       0:07:58.403 ***********\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] ***\nFriday 26 June 2026  02:14:03 +0000 (0:00:01.327)       0:07:59.730 ***********\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] ********\nFriday 26 June 2026  02:14:04 +0000 (0:00:00.616)       0:08:00.347 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nFriday 26 June 2026  02:14:05 +0000 (0:00:00.498)       0:08:00.846 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nFriday 26 June 2026  02:14:05 +0000 (0:00:00.499)       0:08:01.345 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nFriday 26 June 2026  02:14:05 +0000 (0:00:00.232)       0:08:01.578 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nFriday 26 June 2026  02:14:05 +0000 (0:00:00.035)       0:08:01.614 ***********\nok: [instance] => (item=swap)\nok: [instance] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nFriday 26 June 2026  02:14:06 +0000 (0:00:00.641)       0:08:02.255 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nFriday 26 June 2026  02:14:06 +0000 (0:00:00.464)       0:08:02.719 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nFriday 26 June 2026  02:14:07 +0000 (0:00:00.666)       0:08:03.386 ***********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 26 June 2026  02:14:07 +0000 (0:00:00.007)       0:08:03.393 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nFriday 26 June 2026  02:14:08 +0000 (0:00:00.812)       0:08:04.206 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nFriday 26 June 2026  02:14:09 +0000 (0:00:00.617)       0:08:04.823 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nFriday 26 June 2026  02:14:10 +0000 (0:00:01.076)       0:08:05.900 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nFriday 26 June 2026  02:14:10 +0000 (0:00:00.768)       0:08:06.668 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nFriday 26 June 2026  02:14:11 +0000 (0:00:00.208)       0:08:06.877 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nFriday 26 June 2026  02:14:11 +0000 (0:00:00.579)       0:08:07.456 ***********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nFriday 26 June 2026  02:14:11 +0000 (0:00:00.080)       0:08:07.536 ***********\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] ***\nFriday 26 June 2026  02:14:11 +0000 (0:00:00.078)       0:08:07.615 ***********\nok: [instance] => (item=instance)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.209)       0:08:07.824 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.048)       0:08:07.873 ***********\nok: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.053)       0:08:07.927 ***********\nok: [instance] => {\n    \"msg\": \"instance\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.046)       0:08:07.973 ***********\nchanged: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.598)       0:08:08.572 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.041)       0:08:08.613 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.043)       0:08:08.657 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.040)       0:08:08.698 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.040)       0:08:08.738 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nFriday 26 June 2026  02:14:12 +0000 (0:00:00.038)       0:08:08.777 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nFriday 26 June 2026  02:14:13 +0000 (0:00:00.044)       0:08:08.821 ***********\nskipping: [instance]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nFriday 26 June 2026  02:14:13 +0000 (0:00:00.038)       0:08:08.860 ***********\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:47.528487\", \"end\": \"2026-06-26 02:15:00.765601\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-06-26 02:14:13.237114\", \"stderr\": \"W0626 02:14:13.269480   40224 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase upload-config/kubelet: Error writing Crisocket information for the control-plane node: error patching node \\\"instance\\\" through apiserver: etcdserver: request timed out\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0626 02:14:13.269480   40224 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase upload-config/kubelet: Error writing Crisocket information for the control-plane node: error patching node \\\"instance\\\" through apiserver: etcdserver: request timed out\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\\n[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\\n[certs] Generating \\\"ca\\\" certificate and key\\n[certs] Generating \\\"apiserver\\\" certificate and key\\n[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.38]\\n[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\\n[certs] Generating \\\"front-proxy-ca\\\" certificate and key\\n[certs] Generating \\\"front-proxy-client\\\" certificate and key\\n[certs] Generating \\\"etcd/ca\\\" certificate and key\\n[certs] Generating \\\"etcd/server\\\" certificate and key\\n[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/peer\\\" certificate and key\\n[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\\n[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\\n[certs] Generating \\\"sa\\\" key and public key\\n[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\\n[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\\n[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\\n[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\\n[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\\n[kubelet-start] Starting the kubelet\\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\\n[apiclient] All control plane components are healthy after 7.004790 seconds\\n[upload-config] Storing the configuration used in ConfigMap \\\"kubeadm-config\\\" in the \\\"kube-system\\\" Namespace\\n[kubelet] Creating a ConfigMap \\\"kubelet-config\\\" in namespace kube-system with the configuration for the kubelets in the cluster\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\", \"[certs] Generating \\\"ca\\\" certificate and key\", \"[certs] Generating \\\"apiserver\\\" certificate and key\", \"[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.38]\", \"[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-ca\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-client\\\" certificate and key\", \"[certs] Generating \\\"etcd/ca\\\" certificate and key\", \"[certs] Generating \\\"etcd/server\\\" certificate and key\", \"[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/peer\\\" certificate and key\", \"[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\", \"[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\", \"[certs] Generating \\\"sa\\\" key and public key\", \"[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\", \"[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\", \"[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\", \"[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\", \"[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\", \"[kubelet-start] Starting the kubelet\", \"[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\", \"[apiclient] All control plane components are healthy after 7.004790 seconds\", \"[upload-config] Storing the configuration used in ConfigMap \\\"kubeadm-config\\\" in the \\\"kube-system\\\" Namespace\", \"[kubelet] Creating a ConfigMap \\\"kubelet-config\\\" in namespace kube-system with the configuration for the kubelets in the cluster\"]}\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=195  changed=57   unreachable=0    failed=1    skipped=44   rescued=0    ignored=2\n\nFriday 26 June 2026  02:15:00 +0000 (0:00:47.744)       0:08:56.604 ***********\n===============================================================================\nvexxhost.ceph.osd : Install OSDs --------------------------------------- 92.85s\nvexxhost.ceph.mon : Run Bootstrap command ------------------------------ 89.24s\nvexxhost.ceph.mon : Configure \"mon\" label for monitors ----------------- 84.71s\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 47.74s\nvexxhost.ceph.mon : Validate monitor exist ----------------------------- 14.09s\nvexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 14.00s\nvexxhost.ceph.mgr : Configure \"mgr\" label for managers ----------------- 12.21s\nvexxhost.ceph.mgr : Configure manager modules --------------------------- 8.01s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.45s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.44s\nvexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.42s\nvexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 6.13s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 6.12s\nvexxhost.ceph.osd : Mark require osd release ---------------------------- 6.06s\nvexxhost.ceph.mgr : Validate manager exist ------------------------------ 6.01s\nvexxhost.ceph.osd : Get mon dump ---------------------------------------- 5.84s\nvexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 5.65s\nvexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.34s\nvexxhost.ceph.cephadm : Install packages -------------------------------- 5.01s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.44s\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": [
                                "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] *********************************************************",
                                "Friday 26 June 2026  02:05:05 +0000 (0:00:00.026)       0:00:00.026 ***********",
                                "[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] ************************************************",
                                "Friday 26 June 2026  02:05:06 +0000 (0:00:01.202)       0:00:01.228 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Friday 26 June 2026  02:05:07 +0000 (0:00:00.686)       0:00:01.915 ***********",
                                "[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] **************************",
                                "Friday 26 June 2026  02:05:07 +0000 (0:00:00.280)       0:00:02.195 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Friday 26 June 2026  02:05:09 +0000 (0:00:01.137)       0:00:03.333 ***********",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Friday 26 June 2026  02:05:09 +0000 (0:00:00.780)       0:00:04.113 ***********",
                                "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] *****************",
                                "Friday 26 June 2026  02:05:10 +0000 (0:00:01.082)       0:00:05.195 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.184)       0:00:05.380 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.025)       0:00:05.405 ***********",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': '42544da8-af7c-53cd-94ab-92fd2eb06930'})",
                                "ok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})",
                                "",
                                "TASK [Write new Ceph control plane configuration file to disk] *****************",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.051)       0:00:05.457 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.528)       0:00:05.986 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.174)       0:00:06.160 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.029)       0:00:06.190 ***********",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Friday 26 June 2026  02:05:11 +0000 (0:00:00.032)       0:00:06.223 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Friday 26 June 2026  02:05:12 +0000 (0:00:00.360)       0:00:06.583 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Friday 26 June 2026  02:05:12 +0000 (0:00:00.175)       0:00:06.759 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Friday 26 June 2026  02:05:12 +0000 (0:00:00.026)       0:00:06.785 ***********",
                                "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] *************************",
                                "Friday 26 June 2026  02:05:12 +0000 (0:00:00.043)       0:00:06.828 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Friday 26 June 2026  02:05:12 +0000 (0:00:00.351)       0:00:07.180 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Friday 26 June 2026  02:05:13 +0000 (0:00:00.178)       0:00:07.359 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Friday 26 June 2026  02:05:13 +0000 (0:00:00.029)       0:00:07.388 ***********",
                                "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] *************************",
                                "Friday 26 June 2026  02:05:13 +0000 (0:00:00.042)       0:00:07.431 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:05:13 +0000 (0:00:00.364)       0:00:07.795 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Friday 26 June 2026  02:05:14 +0000 (0:00:00.701)       0:00:08.497 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Friday 26 June 2026  02:05:14 +0000 (0:00:00.183)       0:00:08.680 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Friday 26 June 2026  02:05:14 +0000 (0:00:00.029)       0:00:08.709 ***********",
                                "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] ****************************************",
                                "Friday 26 June 2026  02:05:15 +0000 (0:00:00.836)       0:00:09.546 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Friday 26 June 2026  02:05:15 +0000 (0:00:00.352)       0:00:09.899 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Friday 26 June 2026  02:05:15 +0000 (0:00:00.187)       0:00:10.086 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Friday 26 June 2026  02:05:15 +0000 (0:00:00.176)       0:00:10.263 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Friday 26 June 2026  02:05:16 +0000 (0:00:00.032)       0:00:10.295 ***********",
                                "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] ****************************",
                                "Friday 26 June 2026  02:05:16 +0000 (0:00:00.042)       0:00:10.338 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Friday 26 June 2026  02:05:16 +0000 (0:00:00.357)       0:00:10.695 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Friday 26 June 2026  02:05:16 +0000 (0:00:00.205)       0:00:10.900 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Friday 26 June 2026  02:05:16 +0000 (0:00:00.033)       0:00:10.934 ***********",
                                "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] *******************************",
                                "Friday 26 June 2026  02:05:16 +0000 (0:00:00.041)       0:00:10.975 ***********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Friday 26 June 2026  02:05:17 +0000 (0:00:00.367)       0:00:11.342 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Friday 26 June 2026  02:05:17 +0000 (0:00:00.176)       0:00:11.519 ***********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Friday 26 June 2026  02:05:17 +0000 (0:00:00.031)       0:00:11.551 ***********",
                                "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] *****************************************",
                                "Friday 26 June 2026  02:05:17 +0000 (0:00:00.428)       0:00:11.979 ***********",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Friday 26 June 2026  02:05:17 +0000 (0:00:00.057)       0:00:12.037 ***********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Friday 26 June 2026  02:05:18 +0000 (0:00:00.455)       0:00:12.493 ***********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Friday 26 June 2026  02:05:22 +0000 (0:00:04.557)       0:00:17.050 ***********",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Friday 26 June 2026  02:05:22 +0000 (0:00:00.056)       0:00:17.107 ***********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Friday 26 June 2026  02:05:23 +0000 (0:00:00.380)       0:00:17.488 ***********",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Friday 26 June 2026  02:05:23 +0000 (0:00:00.374)       0:00:17.862 ***********",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:05:23 +0000 (0:00:00.037)       0:00:17.899 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Friday 26 June 2026  02:05:24 +0000 (0:00:00.719)       0:00:18.619 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Friday 26 June 2026  02:05:24 +0000 (0:00:00.337)       0:00:18.957 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Friday 26 June 2026  02:05:24 +0000 (0:00:00.215)       0:00:19.172 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Friday 26 June 2026  02:05:25 +0000 (0:00:00.202)       0:00:19.375 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Friday 26 June 2026  02:05:25 +0000 (0:00:00.196)       0:00:19.571 ***********",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:05:25 +0000 (0:00:00.391)       0:00:19.963 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Friday 26 June 2026  02:05:26 +0000 (0:00:00.739)       0:00:20.702 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Friday 26 June 2026  02:05:51 +0000 (0:00:24.887)       0:00:45.589 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Friday 26 June 2026  02:05:51 +0000 (0:00:00.539)       0:00:46.128 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Friday 26 June 2026  02:05:52 +0000 (0:00:00.214)       0:00:46.343 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Friday 26 June 2026  02:05:52 +0000 (0:00:00.469)       0:00:46.812 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Friday 26 June 2026  02:05:52 +0000 (0:00:00.193)       0:00:47.006 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Friday 26 June 2026  02:05:52 +0000 (0:00:00.025)       0:00:47.032 ***********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Friday 26 June 2026  02:05:53 +0000 (0:00:00.575)       0:00:47.607 ***********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Friday 26 June 2026  02:05:53 +0000 (0:00:00.536)       0:00:48.144 ***********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Friday 26 June 2026  02:05:54 +0000 (0:00:00.747)       0:00:48.891 ***********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Friday 26 June 2026  02:05:57 +0000 (0:00:03.203)       0:00:52.095 ***********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:05:59 +0000 (0:00:01.911)       0:00:54.006 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Friday 26 June 2026  02:06:00 +0000 (0:00:00.926)       0:00:54.933 ***********",
                                "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",
                                "",
                                "Friday 26 June 2026  02:06:01 +0000 (0:00:00.467)       0:00:55.401 ***********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 24.89s",
                                "Generate SSH keys for missing variables --------------------------------- 4.56s",
                                "Create a volume group for each loop device ------------------------------ 3.20s",
                                "Create a logical volume for each loop device ---------------------------- 1.91s",
                                "Gathering Facts --------------------------------------------------------- 1.20s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.14s",
                                "Create folders for workspace -------------------------------------------- 1.08s",
                                "Gathering Facts --------------------------------------------------------- 0.93s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.84s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.78s",
                                "Start loop devices ------------------------------------------------------ 0.75s",
                                "Gathering Facts --------------------------------------------------------- 0.74s",
                                "Gathering Facts --------------------------------------------------------- 0.72s",
                                "Gathering Facts --------------------------------------------------------- 0.70s",
                                "Configure short hostname ------------------------------------------------ 0.69s",
                                "Create devices for Ceph ------------------------------------------------- 0.58s",
                                "Start up service -------------------------------------------------------- 0.54s",
                                "Set permissions on loopback devices ------------------------------------- 0.54s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.53s",
                                "Write /etc/lvm/lvm.conf ------------------------------------------------- 0.47s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     [aio > converge] Executing",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:06:04 +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] *****************",
                                "Friday 26 June 2026  02:06:05 +0000 (0:00:01.248)       0:00:01.267 ***********",
                                "ok: [instance]",
                                "",
                                "PLAY [Deploy Ceph monitors & managers] *****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:06:05 +0000 (0:00:00.192)       0:00:01.459 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:06:06 +0000 (0:00:00.919)       0:00:02.379 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:06:06 +0000 (0:00:00.299)       0:00:02.678 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 26 June 2026  02:06:06 +0000 (0:00:00.046)       0:00:02.725 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:06:07 +0000 (0:00:00.298)       0:00:03.024 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:06:07 +0000 (0:00:00.075)       0:00:03.099 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:06:08 +0000 (0:00:00.798)       0:00:03.898 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:06:08 +0000 (0:00:00.055)       0:00:03.953 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:06:08 +0000 (0:00:00.055)       0:00:04.009 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:06:08 +0000 (0:00:00.206)       0:00:04.215 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:06:10 +0000 (0:00:01.605)       0:00:05.821 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:06:10 +0000 (0:00:00.073)       0:00:05.895 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:06:10 +0000 (0:00:00.862)       0:00:06.757 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 26 June 2026  02:06:13 +0000 (0:00:02.940)       0:00:09.698 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 26 June 2026  02:06:13 +0000 (0:00:00.040)       0:00:09.739 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 26 June 2026  02:06:13 +0000 (0:00:00.041)       0:00:09.780 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 26 June 2026  02:06:14 +0000 (0:00:00.035)       0:00:09.816 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 26 June 2026  02:06:20 +0000 (0:00:06.116)       0:00:15.932 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 26 June 2026  02:06:20 +0000 (0:00:00.659)       0:00:16.592 ***********",
                                "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] **********",
                                "Friday 26 June 2026  02:06:21 +0000 (0:00:00.955)       0:00:17.548 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 26 June 2026  02:06:22 +0000 (0:00:00.601)       0:00:18.149 ***********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Friday 26 June 2026  02:06:22 +0000 (0:00:00.010)       0:00:18.160 ***********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Friday 26 June 2026  02:06:23 +0000 (0:00:00.993)       0:00:19.153 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 26 June 2026  02:06:23 +0000 (0:00:00.493)       0:00:19.647 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:06:24 +0000 (0:00:00.589)       0:00:20.236 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:06:24 +0000 (0:00:00.228)       0:00:20.465 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:06:24 +0000 (0:00:00.054)       0:00:20.519 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:06:25 +0000 (0:00:00.840)       0:00:21.359 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Friday 26 June 2026  02:06:30 +0000 (0:00:04.441)       0:00:25.801 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Friday 26 June 2026  02:06:31 +0000 (0:00:01.253)       0:00:27.055 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Friday 26 June 2026  02:06:31 +0000 (0:00:00.667)       0:00:27.723 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Friday 26 June 2026  02:06:32 +0000 (0:00:00.486)       0:00:28.209 ***********",
                                "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] ******",
                                "Friday 26 June 2026  02:06:32 +0000 (0:00:00.575)       0:00:28.785 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Friday 26 June 2026  02:06:33 +0000 (0:00:00.491)       0:00:29.276 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Friday 26 June 2026  02:06:33 +0000 (0:00:00.482)       0:00:29.758 ***********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************",
                                "Friday 26 June 2026  02:06:33 +0000 (0:00:00.008)       0:00:29.767 ***********",
                                "ok: [instance]",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************",
                                "Friday 26 June 2026  02:06:34 +0000 (0:00:00.747)       0:00:30.514 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Friday 26 June 2026  02:06:35 +0000 (0:00:01.214)       0:00:31.729 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Friday 26 June 2026  02:06:36 +0000 (0:00:00.607)       0:00:32.336 ***********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Friday 26 June 2026  02:06:36 +0000 (0:00:00.063)       0:00:32.400 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Friday 26 June 2026  02:06:41 +0000 (0:00:05.008)       0:00:37.408 ***********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Friday 26 June 2026  02:06:42 +0000 (0:00:00.656)       0:00:38.065 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Friday 26 June 2026  02:06:42 +0000 (0:00:00.285)       0:00:38.351 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Friday 26 June 2026  02:06:42 +0000 (0:00:00.198)       0:00:38.550 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Friday 26 June 2026  02:06:43 +0000 (0:00:00.555)       0:00:39.105 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************",
                                "Friday 26 June 2026  02:06:43 +0000 (0:00:00.390)       0:00:39.496 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************",
                                "Friday 26 June 2026  02:06:43 +0000 (0:00:00.117)       0:00:39.613 ***********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********",
                                "Friday 26 June 2026  02:06:44 +0000 (0:00:00.214)       0:00:39.827 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************",
                                "Friday 26 June 2026  02:06:44 +0000 (0:00:00.052)       0:00:39.880 ***********",
                                "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\"] *************",
                                "Friday 26 June 2026  02:06:44 +0000 (0:00:00.075)       0:00:39.955 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Include extra configuration values] ******************",
                                "Friday 26 June 2026  02:06:44 +0000 (0:00:00.349)       0:00:40.305 ***********",
                                "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 command] *******************************",
                                "Friday 26 June 2026  02:06:45 +0000 (0:00:00.707)       0:00:41.012 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Remove temporary file for \"ceph.conf\"] ***************",
                                "Friday 26 June 2026  02:08:14 +0000 (0:01:29.237)       0:02:10.250 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************",
                                "Friday 26 June 2026  02:08:14 +0000 (0:00:00.224)       0:02:10.475 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Friday 26 June 2026  02:08:14 +0000 (0:00:00.045)       0:02:10.521 ***********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Friday 26 June 2026  02:08:14 +0000 (0:00:00.088)       0:02:10.610 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Friday 26 June 2026  02:08:20 +0000 (0:00:05.652)       0:02:16.262 ***********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Friday 26 June 2026  02:08:20 +0000 (0:00:00.050)       0:02:16.313 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Friday 26 June 2026  02:08:20 +0000 (0:00:00.442)       0:02:16.755 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Configure \"mon\" label for monitors] ******************",
                                "Friday 26 June 2026  02:08:27 +0000 (0:00:06.436)       0:02:23.192 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************",
                                "Friday 26 June 2026  02:09:52 +0000 (0:01:24.706)       0:03:47.899 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Friday 26 June 2026  02:10:06 +0000 (0:00:14.085)       0:04:01.984 ***********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Friday 26 June 2026  02:10:06 +0000 (0:00:00.081)       0:04:02.066 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Friday 26 June 2026  02:10:06 +0000 (0:00:00.047)       0:04:02.113 ***********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Friday 26 June 2026  02:10:06 +0000 (0:00:00.050)       0:04:02.164 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Friday 26 June 2026  02:10:06 +0000 (0:00:00.254)       0:04:02.419 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure \"mgr\" label for managers] ******************",
                                "Friday 26 June 2026  02:10:13 +0000 (0:00:06.420)       0:04:08.839 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************",
                                "Friday 26 June 2026  02:10:25 +0000 (0:00:12.207)       0:04:21.046 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.mgr : Configure manager modules] ***************************",
                                "Friday 26 June 2026  02:10:31 +0000 (0:00:06.014)       0:04:27.061 ***********",
                                "changed: [instance] => (item={'name': 'diskprediction_local'})",
                                "ok: [instance] => (item={'name': 'dashboard'})",
                                "changed: [instance] => (item={'name': 'prometheus'})",
                                "ok: [instance] => (item={'name': 'iostat'})",
                                "",
                                "PLAY [Deploy Ceph OSDs] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:10:39 +0000 (0:00:08.011)       0:04:35.072 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:10:40 +0000 (0:00:00.941)       0:04:36.013 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:10:40 +0000 (0:00:00.218)       0:04:36.232 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 26 June 2026  02:10:40 +0000 (0:00:00.044)       0:04:36.276 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:10:40 +0000 (0:00:00.220)       0:04:36.497 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:10:40 +0000 (0:00:00.051)       0:04:36.549 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:10:41 +0000 (0:00:00.309)       0:04:36.858 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:10:41 +0000 (0:00:00.047)       0:04:36.905 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:10:41 +0000 (0:00:00.044)       0:04:36.950 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:10:41 +0000 (0:00:00.198)       0:04:37.148 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:10:42 +0000 (0:00:01.304)       0:04:38.452 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:10:42 +0000 (0:00:00.068)       0:04:38.521 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:10:43 +0000 (0:00:00.340)       0:04:38.861 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 26 June 2026  02:10:45 +0000 (0:00:01.950)       0:04:40.812 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 26 June 2026  02:10:45 +0000 (0:00:00.033)       0:04:40.845 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 26 June 2026  02:10:45 +0000 (0:00:00.031)       0:04:40.877 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 26 June 2026  02:10:45 +0000 (0:00:00.033)       0:04:40.911 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 26 June 2026  02:10:46 +0000 (0:00:01.209)       0:04:42.120 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 26 June 2026  02:10:46 +0000 (0:00:00.425)       0:04:42.546 ***********",
                                "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] **********",
                                "Friday 26 June 2026  02:10:47 +0000 (0:00:00.933)       0:04:43.480 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 26 June 2026  02:10:49 +0000 (0:00:01.520)       0:04:45.001 ***********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 26 June 2026  02:10:49 +0000 (0:00:00.007)       0:04:45.009 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:10:49 +0000 (0:00:00.369)       0:04:45.379 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:10:49 +0000 (0:00:00.210)       0:04:45.590 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:10:49 +0000 (0:00:00.047)       0:04:45.637 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:10:50 +0000 (0:00:00.360)       0:04:45.998 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Install AppArmor packages] ******************",
                                "Friday 26 June 2026  02:10:53 +0000 (0:00:03.149)       0:04:49.147 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Ensure group \"docker\" exists] ***************",
                                "Friday 26 June 2026  02:10:54 +0000 (0:00:01.058)       0:04:50.205 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create systemd service file for docker] *****",
                                "Friday 26 June 2026  02:10:54 +0000 (0:00:00.205)       0:04:50.411 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create folders for configuration] ***********",
                                "Friday 26 June 2026  02:10:55 +0000 (0:00:00.467)       0:04:50.879 ***********",
                                "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] ******",
                                "Friday 26 June 2026  02:10:55 +0000 (0:00:00.595)       0:04:51.474 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Create docker daemon config file] ***********",
                                "Friday 26 June 2026  02:10:56 +0000 (0:00:00.452)       0:04:51.927 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.docker : Force any restarts if necessary] ************",
                                "Friday 26 June 2026  02:10:56 +0000 (0:00:00.467)       0:04:52.394 ***********",
                                "",
                                "TASK [vexxhost.containers.docker : Enable and start service] *******************",
                                "Friday 26 June 2026  02:10:56 +0000 (0:00:00.006)       0:04:52.401 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******",
                                "Friday 26 June 2026  02:10:56 +0000 (0:00:00.353)       0:04:52.755 ***********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Install packages] ********************************",
                                "Friday 26 June 2026  02:10:57 +0000 (0:00:00.048)       0:04:52.803 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************",
                                "Friday 26 June 2026  02:10:58 +0000 (0:00:01.275)       0:04:54.079 ***********",
                                "ok: [instance] => (item=chronyd)",
                                "ok: [instance] => (item=sshd)",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Download \"cephadm\"] ******************************",
                                "Friday 26 June 2026  02:10:59 +0000 (0:00:00.723)       0:04:54.802 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************",
                                "Friday 26 June 2026  02:10:59 +0000 (0:00:00.304)       0:04:55.107 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Ensure \"cephadm\" user is present] ****************",
                                "Friday 26 June 2026  02:10:59 +0000 (0:00:00.199)       0:04:55.306 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm : Allow \"cephadm\" user to have passwordless sudo] ***",
                                "Friday 26 June 2026  02:10:59 +0000 (0:00:00.249)       0:04:55.555 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get monitor status] **********************************",
                                "Friday 26 June 2026  02:10:59 +0000 (0:00:00.218)       0:04:55.774 ***********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.ceph.osd : Select admin host] ***********************************",
                                "Friday 26 June 2026  02:11:00 +0000 (0:00:00.244)       0:04:56.019 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Install Ceph host] *******************************************************",
                                "Friday 26 June 2026  02:11:00 +0000 (0:00:00.054)       0:04:56.073 ***********",
                                "included: vexxhost.ceph.cephadm_host for instance",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user] ******",
                                "Friday 26 June 2026  02:11:00 +0000 (0:00:00.070)       0:04:56.143 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \"cephadm\" user] ***",
                                "Friday 26 June 2026  02:11:00 +0000 (0:00:00.051)       0:04:56.195 ***********",
                                "skipping: [instance] => (item=instance)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Set authorized key for \"cephadm\"] ***********",
                                "Friday 26 June 2026  02:11:00 +0000 (0:00:00.048)       0:04:56.243 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************",
                                "Friday 26 June 2026  02:11:00 +0000 (0:00:00.267)       0:04:56.511 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************",
                                "Friday 26 June 2026  02:11:07 +0000 (0:00:06.447)       0:05:02.959 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************",
                                "Friday 26 June 2026  02:11:12 +0000 (0:00:05.344)       0:05:08.303 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Install OSDs] ****************************************",
                                "Friday 26 June 2026  02:11:26 +0000 (0:00:13.997)       0:05:22.300 ***********",
                                "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] ****************************************",
                                "Friday 26 June 2026  02:12:59 +0000 (0:01:32.851)       0:06:55.152 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Mark require osd release] ****************************",
                                "Friday 26 June 2026  02:13:05 +0000 (0:00:05.836)       0:07:00.989 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************",
                                "Friday 26 June 2026  02:13:11 +0000 (0:00:06.059)       0:07:07.049 ***********",
                                "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] *********************************",
                                "Friday 26 June 2026  02:13:11 +0000 (0:00:00.083)       0:07:07.132 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************",
                                "Friday 26 June 2026  02:13:11 +0000 (0:00:00.197)       0:07:07.329 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : OSD daemon list] *************************************",
                                "Friday 26 June 2026  02:13:17 +0000 (0:00:06.126)       0:07:13.456 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************",
                                "Friday 26 June 2026  02:13:17 +0000 (0:00:00.053)       0:07:13.509 ***********",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance] => (item=1)",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************",
                                "Friday 26 June 2026  02:13:17 +0000 (0:00:00.054)       0:07:13.564 ***********",
                                "skipping: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Ensure RBD kernel module is loaded] **************************************",
                                "Friday 26 June 2026  02:13:17 +0000 (0:00:00.052)       0:07:13.616 ***********",
                                "changed: [instance]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:13:18 +0000 (0:00:00.321)       0:07:13.938 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************",
                                "Friday 26 June 2026  02:13:19 +0000 (0:00:00.966)       0:07:14.905 ***********",
                                "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] ***",
                                "Friday 26 June 2026  02:13:22 +0000 (0:00:03.862)       0:07:18.767 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Install persistent \"ethtool\" tuning] *******",
                                "Friday 26 June 2026  02:13:23 +0000 (0:00:00.201)       0:07:18.969 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.atmosphere.ethtool : Run \"ethtool\" tuning] **********************",
                                "Friday 26 June 2026  02:13:23 +0000 (0:00:00.477)       0:07:19.447 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Friday 26 June 2026  02:13:23 +0000 (0:00:00.252)       0:07:19.700 ***********",
                                "ok: [instance]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:13:23 +0000 (0:00:00.053)       0:07:19.753 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Friday 26 June 2026  02:13:24 +0000 (0:00:00.940)       0:07:20.694 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Friday 26 June 2026  02:13:25 +0000 (0:00:00.246)       0:07:20.940 ***********",
                                "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] ****",
                                "Friday 26 June 2026  02:13:26 +0000 (0:00:00.917)       0:07:21.858 ***********",
                                "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] *********",
                                "Friday 26 June 2026  02:13:26 +0000 (0:00:00.537)       0:07:22.396 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Friday 26 June 2026  02:13:26 +0000 (0:00:00.189)       0:07:22.585 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Friday 26 June 2026  02:13:26 +0000 (0:00:00.198)       0:07:22.784 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Friday 26 June 2026  02:13:27 +0000 (0:00:00.034)       0:07:22.818 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Friday 26 June 2026  02:13:27 +0000 (0:00:00.043)       0:07:22.861 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Friday 26 June 2026  02:13:27 +0000 (0:00:00.565)       0:07:23.427 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Friday 26 June 2026  02:13:27 +0000 (0:00:00.248)       0:07:23.675 ***********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 26 June 2026  02:13:27 +0000 (0:00:00.058)       0:07:23.734 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:13:28 +0000 (0:00:00.956)       0:07:24.691 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:13:29 +0000 (0:00:00.215)       0:07:24.906 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 26 June 2026  02:13:29 +0000 (0:00:00.049)       0:07:24.956 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:29 +0000 (0:00:00.233)       0:07:25.190 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:13:29 +0000 (0:00:00.058)       0:07:25.248 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:29 +0000 (0:00:00.325)       0:07:25.574 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:13:29 +0000 (0:00:00.051)       0:07:25.626 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 26 June 2026  02:13:30 +0000 (0:00:00.230)       0:07:25.856 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:31 +0000 (0:00:01.217)       0:07:27.073 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.1/containerd-2.3.1-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:13:31 +0000 (0:00:00.076)       0:07:27.150 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:31 +0000 (0:00:00.376)       0:07:27.527 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 26 June 2026  02:13:33 +0000 (0:00:02.072)       0:07:29.600 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 26 June 2026  02:13:33 +0000 (0:00:00.036)       0:07:29.636 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 26 June 2026  02:13:33 +0000 (0:00:00.041)       0:07:29.678 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 26 June 2026  02:13:33 +0000 (0:00:00.035)       0:07:29.713 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 26 June 2026  02:13:35 +0000 (0:00:01.132)       0:07:30.845 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 26 June 2026  02:13:35 +0000 (0:00:00.465)       0:07:31.311 ***********",
                                "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] **********",
                                "Friday 26 June 2026  02:13:36 +0000 (0:00:01.013)       0:07:32.324 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 26 June 2026  02:13:37 +0000 (0:00:00.543)       0:07:32.868 ***********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 26 June 2026  02:13:37 +0000 (0:00:00.008)       0:07:32.877 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Friday 26 June 2026  02:13:37 +0000 (0:00:00.384)       0:07:33.262 ***********",
                                "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] ***",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.715)       0:07:33.977 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.038)       0:07:34.016 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.038)       0:07:34.054 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.034)       0:07:34.088 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.040)       0:07:34.128 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.049)       0:07:34.177 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.213)       0:07:34.391 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:13:38 +0000 (0:00:00.045)       0:07:34.436 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:39 +0000 (0:00:00.781)       0:07:35.217 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:13:39 +0000 (0:00:00.050)       0:07:35.268 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:39 +0000 (0:00:00.212)       0:07:35.480 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:13:39 +0000 (0:00:00.040)       0:07:35.521 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:40 +0000 (0:00:00.623)       0:07:36.145 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 26 June 2026  02:13:40 +0000 (0:00:00.051)       0:07:36.196 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 26 June 2026  02:13:40 +0000 (0:00:00.031)       0:07:36.228 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 26 June 2026  02:13:40 +0000 (0:00:00.039)       0:07:36.268 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 26 June 2026  02:13:40 +0000 (0:00:00.037)       0:07:36.305 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 26 June 2026  02:13:41 +0000 (0:00:01.204)       0:07:37.510 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 26 June 2026  02:13:42 +0000 (0:00:00.447)       0:07:37.958 ***********",
                                "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] **********",
                                "Friday 26 June 2026  02:13:43 +0000 (0:00:00.938)       0:07:38.896 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 26 June 2026  02:13:43 +0000 (0:00:00.543)       0:07:39.440 ***********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 26 June 2026  02:13:43 +0000 (0:00:00.010)       0:07:39.450 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:13:44 +0000 (0:00:00.366)       0:07:39.817 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:44 +0000 (0:00:00.229)       0:07:40.046 ***********",
                                "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] *******************",
                                "Friday 26 June 2026  02:13:44 +0000 (0:00:00.054)       0:07:40.101 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:44 +0000 (0:00:00.580)       0:07:40.682 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:46 +0000 (0:00:01.413)       0:07:42.096 ***********",
                                "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] *******************",
                                "Friday 26 June 2026  02:13:46 +0000 (0:00:00.065)       0:07:42.162 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:47 +0000 (0:00:00.662)       0:07:42.824 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Friday 26 June 2026  02:13:48 +0000 (0:00:01.395)       0:07:44.220 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Friday 26 June 2026  02:13:48 +0000 (0:00:00.492)       0:07:44.712 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 26 June 2026  02:13:49 +0000 (0:00:00.230)       0:07:44.942 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:49 +0000 (0:00:00.214)       0:07:45.157 ***********",
                                "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] *******************",
                                "Friday 26 June 2026  02:13:49 +0000 (0:00:00.066)       0:07:45.223 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:50 +0000 (0:00:00.836)       0:07:46.060 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Friday 26 June 2026  02:13:52 +0000 (0:00:02.729)       0:07:48.790 ***********",
                                "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] ***********",
                                "Friday 26 June 2026  02:13:53 +0000 (0:00:00.051)       0:07:48.841 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Friday 26 June 2026  02:13:54 +0000 (0:00:01.442)       0:07:50.284 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Friday 26 June 2026  02:13:55 +0000 (0:00:01.224)       0:07:51.508 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Friday 26 June 2026  02:13:56 +0000 (0:00:00.487)       0:07:51.996 ***********",
                                "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] *********************",
                                "Friday 26 June 2026  02:13:57 +0000 (0:00:00.844)       0:07:52.841 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 26 June 2026  02:13:57 +0000 (0:00:00.216)       0:07:53.057 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 26 June 2026  02:13:57 +0000 (0:00:00.052)       0:07:53.110 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 26 June 2026  02:13:58 +0000 (0:00:01.232)       0:07:54.342 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Friday 26 June 2026  02:13:58 +0000 (0:00:00.045)       0:07:54.388 ***********",
                                "ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Friday 26 June 2026  02:13:58 +0000 (0:00:00.065)       0:07:54.453 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Friday 26 June 2026  02:13:58 +0000 (0:00:00.046)       0:07:54.500 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Friday 26 June 2026  02:14:02 +0000 (0:00:03.902)       0:07:58.403 ***********",
                                "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] ***",
                                "Friday 26 June 2026  02:14:03 +0000 (0:00:01.327)       0:07:59.730 ***********",
                                "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] ********",
                                "Friday 26 June 2026  02:14:04 +0000 (0:00:00.616)       0:08:00.347 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Friday 26 June 2026  02:14:05 +0000 (0:00:00.498)       0:08:00.846 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Friday 26 June 2026  02:14:05 +0000 (0:00:00.499)       0:08:01.345 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Friday 26 June 2026  02:14:05 +0000 (0:00:00.232)       0:08:01.578 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Friday 26 June 2026  02:14:05 +0000 (0:00:00.035)       0:08:01.614 ***********",
                                "ok: [instance] => (item=swap)",
                                "ok: [instance] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Friday 26 June 2026  02:14:06 +0000 (0:00:00.641)       0:08:02.255 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Friday 26 June 2026  02:14:06 +0000 (0:00:00.464)       0:08:02.719 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Friday 26 June 2026  02:14:07 +0000 (0:00:00.666)       0:08:03.386 ***********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 26 June 2026  02:14:07 +0000 (0:00:00.007)       0:08:03.393 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Friday 26 June 2026  02:14:08 +0000 (0:00:00.812)       0:08:04.206 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Friday 26 June 2026  02:14:09 +0000 (0:00:00.617)       0:08:04.823 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Friday 26 June 2026  02:14:10 +0000 (0:00:01.076)       0:08:05.900 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Friday 26 June 2026  02:14:10 +0000 (0:00:00.768)       0:08:06.668 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Friday 26 June 2026  02:14:11 +0000 (0:00:00.208)       0:08:06.877 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Friday 26 June 2026  02:14:11 +0000 (0:00:00.579)       0:08:07.456 ***********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for instance",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Friday 26 June 2026  02:14:11 +0000 (0:00:00.080)       0:08:07.536 ***********",
                                "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] ***",
                                "Friday 26 June 2026  02:14:11 +0000 (0:00:00.078)       0:08:07.615 ***********",
                                "ok: [instance] => (item=instance)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.209)       0:08:07.824 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.048)       0:08:07.873 ***********",
                                "ok: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.053)       0:08:07.927 ***********",
                                "ok: [instance] => {",
                                "    \"msg\": \"instance\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.046)       0:08:07.973 ***********",
                                "changed: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.598)       0:08:08.572 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.041)       0:08:08.613 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.043)       0:08:08.657 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.040)       0:08:08.698 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.040)       0:08:08.738 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Friday 26 June 2026  02:14:12 +0000 (0:00:00.038)       0:08:08.777 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Friday 26 June 2026  02:14:13 +0000 (0:00:00.044)       0:08:08.821 ***********",
                                "skipping: [instance]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Friday 26 June 2026  02:14:13 +0000 (0:00:00.038)       0:08:08.860 ***********",
                                "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:47.528487\", \"end\": \"2026-06-26 02:15:00.765601\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-06-26 02:14:13.237114\", \"stderr\": \"W0626 02:14:13.269480   40224 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\\nerror execution phase upload-config/kubelet: Error writing Crisocket information for the control-plane node: error patching node \\\"instance\\\" through apiserver: etcdserver: request timed out\\nTo see the stack trace of this error execute with --v=5 or higher\", \"stderr_lines\": [\"W0626 02:14:13.269480   40224 initconfiguration.go:336] [config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta3, Kind=JoinConfiguration\", \"error execution phase upload-config/kubelet: Error writing Crisocket information for the control-plane node: error patching node \\\"instance\\\" through apiserver: etcdserver: request timed out\", \"To see the stack trace of this error execute with --v=5 or higher\"], \"stdout\": \"[init] Using Kubernetes version: v1.28.13\\n[preflight] Running pre-flight checks\\n[preflight] Pulling images required for setting up a Kubernetes cluster\\n[preflight] This might take a minute or two, depending on the speed of your internet connection\\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\\n[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\\n[certs] Generating \\\"ca\\\" certificate and key\\n[certs] Generating \\\"apiserver\\\" certificate and key\\n[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.38]\\n[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\\n[certs] Generating \\\"front-proxy-ca\\\" certificate and key\\n[certs] Generating \\\"front-proxy-client\\\" certificate and key\\n[certs] Generating \\\"etcd/ca\\\" certificate and key\\n[certs] Generating \\\"etcd/server\\\" certificate and key\\n[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/peer\\\" certificate and key\\n[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\\n[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\\n[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\\n[certs] Generating \\\"sa\\\" key and public key\\n[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\\n[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\\n[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\\n[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\\n[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\\n[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\\n[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\\n[kubelet-start] Starting the kubelet\\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\\n[apiclient] All control plane components are healthy after 7.004790 seconds\\n[upload-config] Storing the configuration used in ConfigMap \\\"kubeadm-config\\\" in the \\\"kube-system\\\" Namespace\\n[kubelet] Creating a ConfigMap \\\"kubelet-config\\\" in namespace kube-system with the configuration for the kubelets in the cluster\", \"stdout_lines\": [\"[init] Using Kubernetes version: v1.28.13\", \"[preflight] Running pre-flight checks\", \"[preflight] Pulling images required for setting up a Kubernetes cluster\", \"[preflight] This might take a minute or two, depending on the speed of your internet connection\", \"[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\", \"[certs] Using certificateDir folder \\\"/etc/kubernetes/pki\\\"\", \"[certs] Generating \\\"ca\\\" certificate and key\", \"[certs] Generating \\\"apiserver\\\" certificate and key\", \"[certs] apiserver serving cert is signed for DNS names [instance kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 199.204.45.38]\", \"[certs] Generating \\\"apiserver-kubelet-client\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-ca\\\" certificate and key\", \"[certs] Generating \\\"front-proxy-client\\\" certificate and key\", \"[certs] Generating \\\"etcd/ca\\\" certificate and key\", \"[certs] Generating \\\"etcd/server\\\" certificate and key\", \"[certs] etcd/server serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/peer\\\" certificate and key\", \"[certs] etcd/peer serving cert is signed for DNS names [instance localhost] and IPs [199.204.45.38 127.0.0.1 ::1]\", \"[certs] Generating \\\"etcd/healthcheck-client\\\" certificate and key\", \"[certs] Generating \\\"apiserver-etcd-client\\\" certificate and key\", \"[certs] Generating \\\"sa\\\" key and public key\", \"[kubeconfig] Using kubeconfig folder \\\"/etc/kubernetes\\\"\", \"[kubeconfig] Writing \\\"admin.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"kubelet.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"controller-manager.conf\\\" kubeconfig file\", \"[kubeconfig] Writing \\\"scheduler.conf\\\" kubeconfig file\", \"[etcd] Creating static Pod manifest for local etcd in \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Using manifest folder \\\"/etc/kubernetes/manifests\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-apiserver\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-controller-manager\\\"\", \"[control-plane] Creating static Pod manifest for \\\"kube-scheduler\\\"\", \"[kubelet-start] Writing kubelet environment file with flags to file \\\"/var/lib/kubelet/kubeadm-flags.env\\\"\", \"[kubelet-start] Writing kubelet configuration to file \\\"/var/lib/kubelet/config.yaml\\\"\", \"[kubelet-start] Starting the kubelet\", \"[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \\\"/etc/kubernetes/manifests\\\". This can take up to 4m0s\", \"[apiclient] All control plane components are healthy after 7.004790 seconds\", \"[upload-config] Storing the configuration used in ConfigMap \\\"kubeadm-config\\\" in the \\\"kube-system\\\" Namespace\", \"[kubelet] Creating a ConfigMap \\\"kubelet-config\\\" in namespace kube-system with the configuration for the kubelets in the cluster\"]}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=195  changed=57   unreachable=0    failed=1    skipped=44   rescued=0    ignored=2",
                                "",
                                "Friday 26 June 2026  02:15:00 +0000 (0:00:47.744)       0:08:56.604 ***********",
                                "===============================================================================",
                                "vexxhost.ceph.osd : Install OSDs --------------------------------------- 92.85s",
                                "vexxhost.ceph.mon : Run Bootstrap command ------------------------------ 89.24s",
                                "vexxhost.ceph.mon : Configure \"mon\" label for monitors ----------------- 84.71s",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 47.74s",
                                "vexxhost.ceph.mon : Validate monitor exist ----------------------------- 14.09s",
                                "vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 14.00s",
                                "vexxhost.ceph.mgr : Configure \"mgr\" label for managers ----------------- 12.21s",
                                "vexxhost.ceph.mgr : Configure manager modules --------------------------- 8.01s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.45s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.44s",
                                "vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 6.42s",
                                "vexxhost.ceph.osd : Get `ceph orch ps` ---------------------------------- 6.13s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 6.12s",
                                "vexxhost.ceph.osd : Mark require osd release ---------------------------- 6.06s",
                                "vexxhost.ceph.mgr : Validate manager exist ------------------------------ 6.01s",
                                "vexxhost.ceph.osd : Get mon dump ---------------------------------------- 5.84s",
                                "vexxhost.ceph.cephadm_host : Get public SSH key for \"cephadm\" user ------ 5.65s",
                                "vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.34s",
                                "vexxhost.ceph.cephadm : Install packages -------------------------------- 5.01s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.44s",
                                "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-0010-4a58-3217-000000000007-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:01.283566Z",
                            "start": "2026-06-26T02:04:48.523140Z"
                        },
                        "id": "0242ac17-0010-4a58-3217-000000000007",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere-zuul-jobs/playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-26T02:15:16.262405Z",
                    "start": "2026-06-26T02:15:03.480700Z"
                },
                "id": "0242ac17-0010-c6e7-ad0c-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:04.094477Z",
                            "start": "2026-06-26T02:15:03.652227Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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:01.582881",
                            "end": "2026-06-26 02:15:06.073194",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:04.490313",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0010-c6e7-ad0c-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:06.147278Z",
                            "start": "2026-06-26T02:15:04.125213Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.38:/tmp/logs/system /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:06.828088Z",
                            "start": "2026-06-26T02:15:06.155114Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:07.911612Z",
                            "start": "2026-06-26T02:15:06.838539Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.067876",
                            "end": "2026-06-26 02:15:08.249367",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:08.181491",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0626 02:15:08.240047   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:08.241644   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:08.242349   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:08.244227   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:08.244796   41132 memcache.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": [
                                "E0626 02:15:08.240047   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:08.241644   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:08.242349   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:08.244227   41132 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:08.244796   41132 memcache.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-0010-c6e7-ad0c-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:08.458915Z",
                            "start": "2026-06-26T02:15:07.939466Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.38:/tmp/logs/helm /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:08.980910Z",
                            "start": "2026-06-26T02:15:08.465586Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:09.216921Z",
                            "start": "2026-06-26T02:15:08.989742Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.226397",
                            "end": "2026-06-26 02:15:09.675129",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:09.448732",
                            "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\nE0626 02:15:09.522966   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.523800   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.526561   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.527548   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.528301   41200 memcache.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?\nE0626 02:15:09.530639   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.531656   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.533327   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.533898   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.535446   41204 memcache.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\nE0626 02:15:09.595759   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.595935   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.596441   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.596842   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.598098   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.598669   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.598812   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.599410   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.600302   41234 memcache.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?\nE0626 02:15:09.601104   41241 memcache.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\nE0626 02:15:09.663848   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.664993   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.665724   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.666814   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:09.667587   41267 memcache.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",
                                "E0626 02:15:09.522966   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.523800   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.526561   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.527548   41200 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.528301   41200 memcache.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?",
                                "E0626 02:15:09.530639   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.531656   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.533327   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.533898   41204 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.535446   41204 memcache.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",
                                "E0626 02:15:09.595759   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.595935   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.596441   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.596842   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.598098   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.598669   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.598812   41234 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.599410   41241 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.600302   41234 memcache.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?",
                                "E0626 02:15:09.601104   41241 memcache.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",
                                "E0626 02:15:09.663848   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.664993   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.665724   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.666814   41267 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:09.667587   41267 memcache.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-0010-c6e7-ad0c-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:09.775295Z",
                            "start": "2026-06-26T02:15:09.255154Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:09.988842Z",
                            "start": "2026-06-26T02:15:09.780748Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.078347",
                            "end": "2026-06-26 02:15:10.311453",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:10.233106",
                            "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\nE0626 02:15:10.300619   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:10.301495   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:10.303417   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:10.303932   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:10.305696   41305 memcache.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",
                                "E0626 02:15:10.300619   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:10.301495   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:10.303417   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:10.303932   41305 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:10.305696   41305 memcache.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-0010-c6e7-ad0c-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:10.532012Z",
                            "start": "2026-06-26T02:15:10.012343Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.38:/tmp/logs/objects /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:11.051024Z",
                            "start": "2026-06-26T02:15:10.536805Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:11.284897Z",
                            "start": "2026-06-26T02:15:11.060003Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:11.520635Z",
                            "start": "2026-06-26T02:15:11.292850Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.082306",
                            "end": "2026-06-26 02:15:11.839508",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:11.757202",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0626 02:15:11.828790   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:11.830074   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:11.830782   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:11.831949   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:11.832508   41374 memcache.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": [
                                "E0626 02:15:11.828790   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:11.830074   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:11.830782   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:11.831949   41374 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:11.832508   41374 memcache.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-0010-c6e7-ad0c-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:12.067486Z",
                            "start": "2026-06-26T02:15:11.547953Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.38:/tmp/logs/pod-logs /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:12.575157Z",
                            "start": "2026-06-26T02:15:12.076454Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:12.792151Z",
                            "start": "2026-06-26T02:15:12.587147Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.083040",
                            "end": "2026-06-26 02:15:13.095495",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:13.012455",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0626 02:15:13.077223   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.077989   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.079559   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.079948   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.081738   41424 memcache.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": [
                                "E0626 02:15:13.077223   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.077989   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.079559   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.079948   41424 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.081738   41424 memcache.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-0010-c6e7-ad0c-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:13.339303Z",
                            "start": "2026-06-26T02:15:12.820131Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.078515",
                            "end": "2026-06-26 02:15:13.643044",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:13.564529",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0626 02:15:13.631076   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.633121   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.634031   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.635853   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:13.636581   41450 memcache.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": [
                                "E0626 02:15:13.631076   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.633121   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.634031   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.635853   41450 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:13.636581   41450 memcache.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-0010-c6e7-ad0c-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:13.882838Z",
                            "start": "2026-06-26T02:15:13.365902Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.075031",
                            "end": "2026-06-26 02:15:14.279347",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-26 02:15:14.204316",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0626 02:15:14.268269   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:14.269477   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:14.270228   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:14.272357   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0626 02:15:14.273378   41517 memcache.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": [
                                "E0626 02:15:14.268269   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:14.269477   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:14.270228   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:14.272357   41517 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0626 02:15:14.273378   41517 memcache.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-0010-c6e7-ad0c-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:14.439560Z",
                            "start": "2026-06-26T02:15:13.915754Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.38:/tmp/logs/prometheus /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:14.964456Z",
                            "start": "2026-06-26T02:15:14.447687Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:15.182429Z",
                            "start": "2026-06-26T02:15:14.976723Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.004999",
                            "end": "2026-06-26 02:15:15.421498",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c6e7-ad0c-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-06-26 02:15:15.416499",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0010-c6e7-ad0c-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:15.727177Z",
                            "start": "2026-06-26T02:15:15.208433Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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.38:/tmp/logs/selenium /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c6e7-ad0c-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:16.262405Z",
                            "start": "2026-06-26T02:15:15.735743Z"
                        },
                        "id": "0242ac17-0010-c6e7-ad0c-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-06-26T02:15:20.437629Z",
                    "start": "2026-06-26T02:15:17.118690Z"
                },
                "id": "0242ac17-0010-0258-1876-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0258-1876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:17.187783Z",
                            "start": "2026-06-26T02:15:17.130148Z"
                        },
                        "id": "0242ac17-0010-0258-1876-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0258-1876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:17.243714Z",
                            "start": "2026-06-26T02:15:17.197948Z"
                        },
                        "id": "0242ac17-0010-0258-1876-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/8e797758305f42a9bbe4361f1821cef6/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0258-1876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:18.132738Z",
                            "start": "2026-06-26T02:15:17.250521Z"
                        },
                        "id": "0242ac17-0010-0258-1876-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.38:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/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/8e797758305f42a9bbe4361f1821cef6/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.38:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/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/8e797758305f42a9bbe4361f1821cef6/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.38:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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.38:/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/8e797758305f42a9bbe4361f1821cef6/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0258-1876-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:19.729075Z",
                            "start": "2026-06-26T02:15:18.145059Z"
                        },
                        "id": "0242ac17-0010-0258-1876-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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/artifacts/* /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007486",
                                    "end": "2026-06-26 02:15:20.157587",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/artifacts/* /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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-06-26 02:15:20.150101",
                                    "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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/docs/* /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007358",
                                    "end": "2026-06-26 02:15:20.393973",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/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/8e797758305f42a9bbe4361f1821cef6/work/docs/* /var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/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-06-26 02:15:20.386615",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0258-1876-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:20.437629Z",
                            "start": "2026-06-26T02:15:19.738906Z"
                        },
                        "id": "0242ac17-0010-0258-1876-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-26T02:15:21.088390Z",
                    "start": "2026-06-26T02:15:20.448480Z"
                },
                "id": "0242ac17-0010-0258-1876-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCntUuUSyQLt1/RucQXZIGHFUr++9+WAiDjIY1nDU9wuhW2OotAOKm/LMVv7xQfCJlFvaCarW6zaISJzFr8C8dSKB5JtzkSc8VwJGzB8Yo4x29HNQEQxpEeb8gpXQDmO8vcX8+RCHhbhquKjhSkDiOILuYWdEsobS4TJPAkNbBag18WlwgMFNv/bWldBTBFjFpSl2klqyPSNvsXVyBjvpGmtBehiROhnN42PDhjiETb4kcc20lyc66wUt08nyqTKwzFIkilYew0V+Zqj748P+S/vNkB09MmuymtEPB3o7hucHZVIMxYZIDM4jukMUPbE9Qq5pcoiTeWRKuPmXV2r+yIlkg+LfXpiuuALrRtCm50Lby8TKUfQ2by9lowGKD7/msVs2rz4A7YHegSHUwCjLhIrXaD8NPtoBQU1dhmZSMs2simoYhCOCH3qa2k6Tvh9lyJZpdPPrIzb+0iahCQwGxtdi7FAU//TqLpgGTPJtUJYnd97RactJMZVtXbSKF8WHE= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCntUuUSyQLt1/RucQXZIGHFUr++9+WAiDjIY1nDU9wuhW2OotAOKm/LMVv7xQfCJlFvaCarW6zaISJzFr8C8dSKB5JtzkSc8VwJGzB8Yo4x29HNQEQxpEeb8gpXQDmO8vcX8+RCHhbhquKjhSkDiOILuYWdEsobS4TJPAkNbBag18WlwgMFNv/bWldBTBFjFpSl2klqyPSNvsXVyBjvpGmtBehiROhnN42PDhjiETb4kcc20lyc66wUt08nyqTKwzFIkilYew0V+Zqj748P+S/vNkB09MmuymtEPB3o7hucHZVIMxYZIDM4jukMUPbE9Qq5pcoiTeWRKuPmXV2r+yIlkg+LfXpiuuALrRtCm50Lby8TKUfQ2by9lowGKD7/msVs2rz4A7YHegSHUwCjLhIrXaD8NPtoBQU1dhmZSMs2simoYhCOCH3qa2k6Tvh9lyJZpdPPrIzb+0iahCQwGxtdi7FAU//TqLpgGTPJtUJYnd97RactJMZVtXbSKF8WHE= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0258-1876-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/8e797758305f42a9bbe4361f1821cef6/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-26T02:15:21.088390Z",
                            "start": "2026-06-26T02:15:20.463968Z"
                        },
                        "id": "0242ac17-0010-0258-1876-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
}
]
