[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-05-20T19:42:23.097994Z",
                    "start": "2026-05-20T19:42:19.755421Z"
                },
                "id": "0242ac17-0010-6a7a-de8f-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-05-20",
                                    "day": "20",
                                    "epoch": "1779306141",
                                    "epoch_int": "1779306141",
                                    "hour": "19",
                                    "iso8601": "2026-05-20T19:42:21Z",
                                    "iso8601_basic": "20260520T194221553879",
                                    "iso8601_basic_short": "20260520T194221",
                                    "iso8601_micro": "2026-05-20T19:42:21.553879Z",
                                    "minute": "42",
                                    "month": "05",
                                    "second": "21",
                                    "time": "19:42:21",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Wednesday",
                                    "weekday_number": "3",
                                    "weeknumber": "20",
                                    "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/b219deae56f147539b992af188638d2e/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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": "1651335",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-5OXQPEnqdwBA/agent.1651334",
                                    "TMP": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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": 2.69482421875,
                                    "1m": 2.2333984375,
                                    "5m": 2.5107421875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 6555,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 17041,
                                        "used": 15049
                                    },
                                    "real": {
                                        "free": 6555,
                                        "total": 32090,
                                        "used": 25535
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 141439884,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 122500833,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 47822651,
                                        "inode_total": 67108864,
                                        "inode_used": 19286213,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 579337764864,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8755789,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 31845791,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16534008,
                                        "inode_total": 20643840,
                                        "inode_used": 4109832,
                                        "mount": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 35863711744,
                                        "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": 42969870,
                                "ansible_user_dir": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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-05-20T19:42:21.627926Z",
                            "start": "2026-05-20T19:42:19.764109Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:21.655141Z",
                            "start": "2026-05-20T19:42:21.634699Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "b21/oss/b219deae56f147539b992af188638d2e"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:21.713871Z",
                            "start": "2026-05-20T19:42:21.670965Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: atmosphere-common-molecule-glance-image\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere.common/pull/111\nEvent ID: c8789270-5483-11f1-8c70-b180132ccc30\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:21.761653Z",
                            "start": "2026-05-20T19:42:21.721372Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-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: controller\nHostname: np0000175452\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.49\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:21.873356Z",
                            "start": "2026-05-20T19:42:21.765353Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:22.271108Z",
                            "start": "2026-05-20T19:42:21.888671Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "47c340c604807a22fadbbf34896a388e0003063b",
                            "dest": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "47c340c604807a22fadbbf34896a388e0003063b",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/.ansible/tmp/ansible-tmp-1779306142.3111076-84-74105883366472/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8ebf0d4c2e3c40008fd940d2af5d86fe",
                            "mode": "0644",
                            "owner": "root",
                            "size": 27381,
                            "src": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/.ansible/tmp/ansible-tmp-1779306142.3111076-84-74105883366472/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:23.097994Z",
                            "start": "2026-05-20T19:42:22.279319Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-05-20T19:42:33.597211Z",
                    "start": "2026-05-20T19:42:23.107855Z"
                },
                "id": "0242ac17-0010-6a7a-de8f-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "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/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:23.336171Z",
                            "start": "2026-05-20T19:42:23.116894Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:23.385907Z",
                            "start": "2026-05-20T19:42:23.346987Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.724338",
                            "end": "2026-05-20 19:42:24.479430",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_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-6a7a-de8f-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-05-20 19:42:23.755092",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa.pub\nThe key fingerprint is:\nSHA256:kQkvqfynj6ELg5Hw5+0wBVcS+LGE9Pzig8HSozgimGQ zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|   ..o+..        |\n|    ooo* o       |\n|.   .o*o=        |\n|.o + +oo .       |\n|oEo O o S        |\n|+= = O .         |\n|O + = * .        |\n|o. o = *         |\n|    o.+..        |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:kQkvqfynj6ELg5Hw5+0wBVcS+LGE9Pzig8HSozgimGQ zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|   ..o+..        |",
                                "|    ooo* o       |",
                                "|.   .o*o=        |",
                                "|.o + +oo .       |",
                                "|oEo O o S        |",
                                "|+= = O .         |",
                                "|O + = * .        |",
                                "|o. o = *         |",
                                "|    o.+..        |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-6a7a-de8f-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:24.523683Z",
                            "start": "2026-05-20T19:42:23.413849Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:24.556700Z",
                            "start": "2026-05-20T19:42:24.529131Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:24.600920Z",
                            "start": "2026-05-20T19:42:24.574824Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDeYhew9pgmakV0tuh+v9VoilNRzDt0nzN8wNfV8hp+gKG6M2C+RmdY7kN+1figsJ1c+daSvwUp4qqrdu1HidLrzDZc4L7ABgVl7ciBTIesYzALAqCHubRitnrI4NPicYNVK6xzGCDrO7ihFsSa7NrYRsoovbypgXQenUcjXKUtv9naWYXVtj73Ss3UB6u1QaEpULnuA41g3l8dosjYWK5tos5yxd/xXlYeAml3b2M+2hwB80xhuJCwseeXy4QxEw85zY8bl8LoF90BVqi826ZBB4YhPGMVRpuR2qzLPT2L7Xjk7KX9vlymdW4L+K7FRAwVHbjg+dnKooxus2NAb+WuXjRlRNv+LHkhPQSkcEeUSdweUTCa/G3nQVqTnVV4N9/LmmUQfyz3GgW9zPBb/OM1dTTaXdIk+EGf0ljYM3ksT1mR6htsxJBLpZAyZ/q71fPr6j3djH1iOzUda8nqR1EuS4+te3VBCjzsEbmiLN4LlQFSjrl1ejhhOiR2hIkmrqU= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDeYhew9pgmakV0tuh+v9VoilNRzDt0nzN8wNfV8hp+gKG6M2C+RmdY7kN+1figsJ1c+daSvwUp4qqrdu1HidLrzDZc4L7ABgVl7ciBTIesYzALAqCHubRitnrI4NPicYNVK6xzGCDrO7ihFsSa7NrYRsoovbypgXQenUcjXKUtv9naWYXVtj73Ss3UB6u1QaEpULnuA41g3l8dosjYWK5tos5yxd/xXlYeAml3b2M+2hwB80xhuJCwseeXy4QxEw85zY8bl8LoF90BVqi826ZBB4YhPGMVRpuR2qzLPT2L7Xjk7KX9vlymdW4L+K7FRAwVHbjg+dnKooxus2NAb+WuXjRlRNv+LHkhPQSkcEeUSdweUTCa/G3nQVqTnVV4N9/LmmUQfyz3GgW9zPBb/OM1dTTaXdIk+EGf0ljYM3ksT1mR6htsxJBLpZAyZ/q71fPr6j3djH1iOzUda8nqR1EuS4+te3VBCjzsEbmiLN4LlQFSjrl1ejhhOiR2hIkmrqU= 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-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:25.129192Z",
                            "start": "2026-05-20T19:42:24.613866Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "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-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:25.352845Z",
                            "start": "2026-05-20T19:42:25.135537Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "88cab222e3e5ab2a04720272d8fdb0ae4de2be39",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "b219deae56f147539b992af188638d2e_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "88cab222e3e5ab2a04720272d8fdb0ae4de2be39",
                                    "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-1779306145.408667-190-87621062918954/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "079ff47969534fe3175f7dda5b729870",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1779306145.408667-190-87621062918954/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:25.898033Z",
                            "start": "2026-05-20T19:42:25.360206Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "13bf9180cd8edd28c1e343494ff9183f782e2233",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "b219deae56f147539b992af188638d2e_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "13bf9180cd8edd28c1e343494ff9183f782e2233",
                                    "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-1779306145.9491844-200-93194393463369/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "dd2a502365c56fcb8d79844a0b2b6a05",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1779306145.9491844-200-93194393463369/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:26.457884Z",
                            "start": "2026-05-20T19:42:25.903092Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:26.492820Z",
                            "start": "2026-05-20T19:42:26.464750Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:26.852153Z",
                            "start": "2026-05-20T19:42:26.503559Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa"
                            ],
                            "delta": "0:00:00.013344",
                            "end": "2026-05-20 19:42:27.145877",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_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-6a7a-de8f-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-05-20 19:42:27.132533",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/b219deae56f147539b992af188638d2e_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-6a7a-de8f-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:27.196212Z",
                            "start": "2026-05-20T19:42:26.866130Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:27.538909Z",
                            "start": "2026-05-20T19:42:27.239752Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:27.567265Z",
                            "start": "2026-05-20T19:42:27.543778Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6a7a-de8f-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:27.923126Z",
                            "start": "2026-05-20T19:42:27.583169Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "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-6a7a-de8f-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:32.369114Z",
                            "start": "2026-05-20T19:42:27.929782Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "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-6a7a-de8f-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:32.988783Z",
                            "start": "2026-05-20T19:42:32.380732Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "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-6a7a-de8f-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:33.597211Z",
                            "start": "2026-05-20T19:42:32.999361Z"
                        },
                        "id": "0242ac17-0010-6a7a-de8f-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "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-05-20T19:42:43.862957Z",
                    "start": "2026-05-20T19:42:34.326558Z"
                },
                "id": "0242ac17-0010-39cb-c8ea-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "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-1779306154.3824675-5-35745611471348/uv-x86_64-unknown-linux-gnuixba5haw.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-1779306154.3824675-5-35745611471348/uv-x86_64-unknown-linux-gnuixba5haw.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39cb-c8ea-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:36.915476Z",
                            "start": "2026-05-20T19:42:34.338475Z"
                        },
                        "id": "0242ac17-0010-39cb-c8ea-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.014684",
                            "end": "2026-05-20 19:42:37.316657",
                            "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-39cb-c8ea-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-05-20 19:42:37.301973",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-39cb-c8ea-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39cb-c8ea-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:37.466735Z",
                            "start": "2026-05-20T19:42:36.942841Z"
                        },
                        "id": "0242ac17-0010-39cb-c8ea-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": true,
                            "checkouts": [
                                {
                                    "changed": true,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "tag": "2.2.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "tag": "3.2.1"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "13.0.0"
                                },
                                {
                                    "changed": true,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "tag": "6.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "tag": "2.5.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.6"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "tag": "v3.1.0"
                                }
                            ],
                            "installed": [
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "spec": ">=1.6.0",
                                    "tag": "2.2.0",
                                    "version": "2.2.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "spec": ">=2.2.3",
                                    "tag": "3.2.1",
                                    "version": "3.2.1"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": ">=4.5.0",
                                    "tag": "13.0.0",
                                    "version": "13.0.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "spec": ">=2.4.0,>=2.3.2",
                                    "tag": "6.4.0",
                                    "version": "6.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "spec": ">=2.0.0",
                                    "tag": "2.5.0",
                                    "version": "2.5.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "spec": ">=1.6.0",
                                    "tag": "v1.6.6",
                                    "version": "1.6.6"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "spec": ">=2.5.0",
                                    "tag": "v3.1.0",
                                    "version": "3.1.0"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "111",
                                            "change_message": "feat(glance_image): migrate role into common\n\n## Summary\n- add the atmosphere.common.glance_image role with the ETag-aware refresh, obsolete-image rename, upload-before-promote, and optional ETag behavior from vexxhost/atmosphere#3862\n- add an atmosphere.common.glance_image playbook and declare the openstack.cloud collection dependency\n- add a Zuul Molecule job for glance_image that deploys a minimal Atmosphere-backed Keystone/Glance environment with local-path PVC storage and only runs when glance_image files change\n- verify image create, unchanged ETag idempotency, and changed ETag replacement/obsolete tagging in Molecule\n\n## Validation\n- nix-shell -p pre-commit --run 'pre-commit run --files ...'\n- nix-shell -p ansible --run 'ansible-playbook --syntax-check ...'\n- nix-shell -p ansible-lint --run 'ansible-lint playbooks/glance_image.yaml roles/glance_image/tasks/main.yml extensions/molecule/glance-image/prepare.yml extensions/molecule/glance-image/converge.yml extensions/molecule/glance-image/verify.yml'",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/111",
                                            "commit_id": "9bfacd03ba8ee75d842a17e12a61fe58a2d0d312",
                                            "patchset": "9bfacd03ba8ee75d842a17e12a61fe58a2d0d312",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere.common",
                                                "name": "vexxhost/atmosphere.common",
                                                "short_name": "atmosphere.common",
                                                "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                            },
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common",
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "111",
                                            "change_message": "feat(glance_image): migrate role into common\n\n## Summary\n- add the atmosphere.common.glance_image role with the ETag-aware refresh, obsolete-image rename, upload-before-promote, and optional ETag behavior from vexxhost/atmosphere#3862\n- add an atmosphere.common.glance_image playbook and declare the openstack.cloud collection dependency\n- add a Zuul Molecule job for glance_image that deploys a minimal Atmosphere-backed Keystone/Glance environment with local-path PVC storage and only runs when glance_image files change\n- verify image create, unchanged ETag idempotency, and changed ETag replacement/obsolete tagging in Molecule\n\n## Validation\n- nix-shell -p pre-commit --run 'pre-commit run --files ...'\n- nix-shell -p ansible --run 'ansible-playbook --syntax-check ...'\n- nix-shell -p ansible-lint --run 'ansible-lint playbooks/glance_image.yaml roles/glance_image/tasks/main.yml extensions/molecule/glance-image/prepare.yml extensions/molecule/glance-image/converge.yml extensions/molecule/glance-image/verify.yml'",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/111",
                                            "commit_id": "9bfacd03ba8ee75d842a17e12a61fe58a2d0d312",
                                            "patchset": "9bfacd03ba8ee75d842a17e12a61fe58a2d0d312",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere.common",
                                                "name": "vexxhost/atmosphere.common",
                                                "short_name": "atmosphere.common",
                                                "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/atmosphere.common",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.netcommon",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "74b98f449ab9c553bd7821a7524e54412cd05751",
                                            "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": "zuul branch",
                                            "commit": "3c232a2429aaa9b49cae40bb3afa1a0ceb03c221",
                                            "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": "zuul branch",
                                            "commit": "777fdd8b4df2aebf2227d5b3d89eb8f97fcc281c",
                                            "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": "zuul branch",
                                            "commit": "be72041cee7c6766efa4d22ee9e7ffbc2cb14676",
                                            "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": "zuul branch",
                                            "commit": "e6ca0df592c4db26ef4af31ea08986fa8a056fd6",
                                            "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": "zuul branch",
                                            "commit": "fa81214de95662ba161ddaeb99680a16a7d337d4",
                                            "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": "zuul branch",
                                            "commit": "53c6c0ee80065de07286213058ee1747939b4add",
                                            "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": "zuul 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": "zuul branch",
                                            "commit": "81e3fb55671a8a2c167c263761c5c139bc8421bc",
                                            "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": "zuul branch",
                                            "commit": "9e778e36eee2b628f7d316634d7bc6f722c101b9",
                                            "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": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "866f2fac61ff5ee695e4bbda6adad65e5a0bc7f3",
                                            "name": "vexxhost/atmosphere",
                                            "required": true,
                                            "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": "zuul branch",
                                            "commit": "f35b5be77322b9c5fc94290e697be3dbbde35f2a",
                                            "name": "vexxhost/atmosphere.common",
                                            "required": false,
                                            "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": "338534eab2f1111a652739e873a5c6deb32bbce2",
                                            "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 vexxhost.atmosphere at /home/zuul/src/github.com/vexxhost/atmosphere",
                                "Sibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Resolved kubernetes.core to 6.4.0 for >=2.4.0",
                                "Resolved openstack.cloud to 2.5.0 for >=2.0.0",
                                "Resolved vexxhost.kubernetes to v3.1.0 for >=2.5.0",
                                "Resolved ansible.posix to 2.2.0 for >=1.6.0",
                                "Resolved community.crypto to 3.2.1 for >=2.2.3",
                                "Resolved community.general to 13.0.0 for >=4.5.0",
                                "Resolved kubernetes.core to 6.4.0 for >=2.4.0,>=2.3.2",
                                "Resolved vexxhost.containers to v1.6.6 for >=1.6.0",
                                "Checked out ansible.posix to 2.2.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:2.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:2.2.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:2.2.0 was installed successfully",
                                "Using CPython 3.12.3 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading cryptography (4.3MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                " Downloading pydantic-core",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 52 packages in 47ms",
                                "Checked out community.crypto to 3.2.1",
                                "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:3.2.1' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:3.2.1 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:3.2.1 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out community.general to 13.0.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:13.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:13.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:13.0.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out kubernetes.core to 6.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:6.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:6.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:6.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out openstack.cloud to 2.5.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:2.5.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'",
                                "Created collection for openstack.cloud:2.5.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud",
                                "openstack.cloud:2.5.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.containers to v1.6.6",
                                "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.6' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'",
                                "Created collection for vexxhost.containers:1.6.6 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers",
                                "vexxhost.containers:1.6.6 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.kubernetes to v3.1.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.1.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'",
                                "Created collection for vexxhost.kubernetes:3.1.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes",
                                "vexxhost.kubernetes:3.1.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                            ],
                            "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 vexxhost.atmosphere at /home/zuul/src/github.com/vexxhost/atmosphere\nSibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nResolved kubernetes.core to 6.4.0 for >=2.4.0\nResolved openstack.cloud to 2.5.0 for >=2.0.0\nResolved vexxhost.kubernetes to v3.1.0 for >=2.5.0\nResolved ansible.posix to 2.2.0 for >=1.6.0\nResolved community.crypto to 3.2.1 for >=2.2.3\nResolved community.general to 13.0.0 for >=4.5.0\nResolved kubernetes.core to 6.4.0 for >=2.4.0,>=2.3.2\nResolved vexxhost.containers to v1.6.6 for >=1.6.0\nChecked out ansible.posix to 2.2.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:2.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:2.2.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:2.2.0 was installed successfully\nUsing CPython 3.12.3 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nDownloading kubernetes (1.9MiB)\nDownloading cryptography (4.3MiB)\nDownloading pygments (1.2MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading ansible-core (2.1MiB)\n Downloading pydantic-core\n Downloading cryptography\n Downloading pygments\n Downloading kubernetes\n Downloading ansible-core\nInstalled 52 packages in 47ms\nChecked out community.crypto to 3.2.1\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:3.2.1' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:3.2.1 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:3.2.1 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out community.general to 13.0.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:13.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:13.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:13.0.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out kubernetes.core to 6.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:6.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:6.4.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:6.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out openstack.cloud to 2.5.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:2.5.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'\nCreated collection for openstack.cloud:2.5.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud\nopenstack.cloud:2.5.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.containers to v1.6.6\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.6' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'\nCreated collection for vexxhost.containers:1.6.6 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers\nvexxhost.containers:1.6.6 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.kubernetes to v3.1.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.1.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'\nCreated collection for vexxhost.kubernetes:3.1.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes\nvexxhost.kubernetes:3.1.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:43.862957Z",
                            "start": "2026-05-20T19:42:37.477335Z"
                        },
                        "id": "0242ac17-0010-39cb-c8ea-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "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-05-20T19:59:26.488731Z",
                    "start": "2026-05-20T19:42:44.528484Z"
                },
                "id": "0242ac17-0010-604b-a6d7-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "47c340c604807a22fadbbf34896a388e0003063b",
                            "dest": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "47c340c604807a22fadbbf34896a388e0003063b",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere.common",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1779306164.5846388-5-191783554357409/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8ebf0d4c2e3c40008fd940d2af5d86fe",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 27381,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1779306164.5846388-5-191783554357409/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:45.489086Z",
                            "start": "2026-05-20T19:42:44.540026Z"
                        },
                        "id": "0242ac17-0010-604b-a6d7-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:42:45.842472Z",
                            "start": "2026-05-20T19:42:45.494342Z"
                        },
                        "id": "0242ac17-0010-604b-a6d7-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "glance-image"
                            ],
                            "delta": "0:16:40.096774",
                            "end": "2026-05-20 19:59:26.320397",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s glance-image",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere.common",
                                    "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-604b-a6d7-000000000006-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-05-20 19:42:46.223623",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nINFO     Collection 'atmosphere.common' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nINFO     [glance-image > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [glance-image > prerun] Performing prerun with role_name_check=0...\nINFO     [glance-image > dependency] Executing\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\n'openstack.cloud:2.5.0' is already installed, skipping.\n'vexxhost.kubernetes:3.1.0' is already installed, skipping.\n'vexxhost.containers:1.6.6' is already installed, skipping.\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-atmosphere-7.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/vexxhost-atmosphere-7.6.0-93a55nqh\nInstalling 'vexxhost.atmosphere:7.6.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/atmosphere'\nvexxhost.atmosphere:7.6.0 was installed successfully\n'atmosphere.common:0.6.0' is already installed, skipping.\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-posix-1.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/ansible-posix-1.6.0-t33k1fkj\nInstalling 'ansible.posix:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nansible.posix:1.6.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-general-7.3.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/community-general-7.3.0-middd2fg\nInstalling 'community.general:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\ncommunity.general:7.3.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/kubernetes-core-2.4.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/kubernetes-core-2.4.0-g8xgwq47\nInstalling 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nkubernetes.core:2.4.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-crypto-2.2.3.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/community-crypto-2.2.3-iyg9ouwy\nInstalling 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\ncommunity.crypto:2.2.3 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-mysql-3.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/community-mysql-3.6.0-exq4_kng\nInstalling 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'\ncommunity.mysql:3.6.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-netcommon-1.2.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/ansible-netcommon-1.2.0-dss0dgpf\nInstalling 'ansible.netcommon:1.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'\nansible.netcommon:1.2.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-ceph-4.0.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/vexxhost-ceph-4.0.0-yeatnc07\nInstalling 'vexxhost.ceph:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'\nvexxhost.ceph:4.0.0 was installed successfully\nDownloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-utils-6.0.2.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/ansible-utils-6.0.2-sdy84x82\nInstalling 'ansible.utils:6.0.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nansible.utils:6.0.2 was installed successfully\nINFO     [glance-image > dependency] Dependency completed successfully.\n[WARNING]: Collection ansible.netcommon does not support Ansible version\n2.18.17\nStarting galaxy collection install process\nNothing to do. All requested collections are already installed. If you want to reinstall them, consider using `--force`.\nINFO     [glance-image > dependency] Dependency completed successfully.\nINFO     [glance-image > dependency] Executed: Successful\nINFO     [glance-image > cleanup] Executing\nWARNING  [glance-image > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [glance-image > destroy] Executing\nWARNING  [glance-image > destroy] Skipping, '--destroy=never' requested.\nINFO     [glance-image > destroy] Executed: Successful\nINFO     [glance-image > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/converge.yml\nINFO     [glance-image > syntax] Executed: Successful\nINFO     [glance-image > create] Executing\nWARNING  [glance-image > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [glance-image > prepare] Executing\n\nPLAY [Prepare host packages] ***************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:43:20 +0000 (0:00:00.038)       0:00:00.038 *********\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nWednesday 20 May 2026  19:43:21 +0000 (0:00:01.311)       0:00:01.349 *********\nchanged: [controller]\n\nTASK [Install Python packages used by the test] ********************************\nWednesday 20 May 2026  19:43:33 +0000 (0:00:11.986)       0:00:13.336 *********\nchanged: [controller]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:43:41 +0000 (0:00:07.211)       0:00:20.547 *********\nok: [controller]\n\nTASK [Set a fact with the \"atmosphere_images\" for other plays] *****************\nWednesday 20 May 2026  19:43:41 +0000 (0:00:00.803)       0:00:21.351 *********\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:43:42 +0000 (0:00:00.135)       0:00:21.486 *********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nWednesday 20 May 2026  19:43:42 +0000 (0:00:00.789)       0:00:22.276 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nWednesday 20 May 2026  19:43:43 +0000 (0:00:00.415)       0:00:22.691 *********\nok: [controller] => (item=/etc/keepalived/keepalived.conf)\nok: [controller] => (item=/etc/keepalived/check_apiserver.sh)\nok: [controller] => (item=/etc/kubernetes/manifests/keepalived.yaml)\nok: [controller] => (item=/etc/haproxy/haproxy.cfg)\nok: [controller] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n\nTASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\nWednesday 20 May 2026  19:43:44 +0000 (0:00:01.072)       0:00:23.763 *********\nfailed: [controller] (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: [controller] (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: [controller] (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] *********\nWednesday 20 May 2026  19:43:45 +0000 (0:00:00.775)       0:00:24.539 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nWednesday 20 May 2026  19:43:45 +0000 (0:00:00.378)       0:00:24.918 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nWednesday 20 May 2026  19:43:45 +0000 (0:00:00.241)       0:00:25.159 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nWednesday 20 May 2026  19:43:45 +0000 (0:00:00.030)       0:00:25.191 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nWednesday 20 May 2026  19:43:45 +0000 (0:00:00.038)       0:00:25.229 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nWednesday 20 May 2026  19:43:46 +0000 (0:00:00.862)       0:00:26.092 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nWednesday 20 May 2026  19:43:46 +0000 (0:00:00.248)       0:00:26.340 *********\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:43:47 +0000 (0:00:00.097)       0:00:26.437 *********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:43:47 +0000 (0:00:00.834)       0:00:27.272 *********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 20 May 2026  19:43:48 +0000 (0:00:00.241)       0:00:27.514 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nWednesday 20 May 2026  19:43:48 +0000 (0:00:00.046)       0:00:27.560 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:43:48 +0000 (0:00:00.263)       0:00:27.824 *********\nok: [controller] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:43:48 +0000 (0:00:00.077)       0:00:27.901 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:43:49 +0000 (0:00:00.677)       0:00:28.579 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:43:49 +0000 (0:00:00.035)       0:00:28.615 *********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 20 May 2026  19:43:49 +0000 (0:00:00.271)       0:00:28.886 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:43:50 +0000 (0:00:01.002)       0:00:29.889 *********\nok: [controller] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:43:50 +0000 (0:00:00.070)       0:00:29.959 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:43:51 +0000 (0:00:00.839)       0:00:30.798 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nWednesday 20 May 2026  19:43:54 +0000 (0:00:03.016)       0:00:33.815 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nWednesday 20 May 2026  19:43:54 +0000 (0:00:00.030)       0:00:33.845 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nWednesday 20 May 2026  19:43:54 +0000 (0:00:00.029)       0:00:33.875 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nWednesday 20 May 2026  19:43:54 +0000 (0:00:00.027)       0:00:33.903 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nWednesday 20 May 2026  19:44:03 +0000 (0:00:08.471)       0:00:42.375 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nWednesday 20 May 2026  19:44:03 +0000 (0:00:00.573)       0:00:42.948 *********\nchanged: [controller] => (item={'path': '/etc/containerd'})\nchanged: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nWednesday 20 May 2026  19:44:04 +0000 (0:00:01.141)       0:00:44.090 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nWednesday 20 May 2026  19:44:05 +0000 (0:00:00.657)       0:00:44.747 *********\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nWednesday 20 May 2026  19:44:05 +0000 (0:00:00.007)       0:00:44.755 *********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nWednesday 20 May 2026  19:44:06 +0000 (0:00:00.819)       0:00:45.574 *********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nWednesday 20 May 2026  19:44:07 +0000 (0:00:00.910)       0:00:46.485 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nWednesday 20 May 2026  19:44:07 +0000 (0:00:00.713)       0:00:47.199 *********\nAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible_collections.kubernetes.core.plugins.module_utils.k8s.exceptions.CoreException: Could not create API client: Invalid kube-config file. No configuration found.\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nWednesday 20 May 2026  19:44:08 +0000 (0:00:00.966)       0:00:48.166 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nWednesday 20 May 2026  19:44:08 +0000 (0:00:00.043)       0:00:48.210 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nWednesday 20 May 2026  19:44:08 +0000 (0:00:00.039)       0:00:48.249 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nWednesday 20 May 2026  19:44:08 +0000 (0:00:00.038)       0:00:48.288 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nWednesday 20 May 2026  19:44:08 +0000 (0:00:00.038)       0:00:48.326 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:44:09 +0000 (0:00:00.042)       0:00:48.369 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:44:09 +0000 (0:00:00.238)       0:00:48.607 *********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:44:09 +0000 (0:00:00.037)       0:00:48.644 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:44:10 +0000 (0:00:00.797)       0:00:49.442 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:44:10 +0000 (0:00:00.037)       0:00:49.480 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:44:10 +0000 (0:00:00.240)       0:00:49.720 *********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:44:10 +0000 (0:00:00.042)       0:00:49.763 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:44:11 +0000 (0:00:01.016)       0:00:50.779 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nWednesday 20 May 2026  19:44:11 +0000 (0:00:00.048)       0:00:50.828 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nWednesday 20 May 2026  19:44:11 +0000 (0:00:00.035)       0:00:50.863 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nWednesday 20 May 2026  19:44:11 +0000 (0:00:00.035)       0:00:50.899 *********\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nWednesday 20 May 2026  19:44:11 +0000 (0:00:00.036)       0:00:50.936 *********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nWednesday 20 May 2026  19:44:12 +0000 (0:00:00.986)       0:00:51.922 *********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nWednesday 20 May 2026  19:44:13 +0000 (0:00:00.552)       0:00:52.475 *********\nok: [controller] => (item={'path': '/etc/containerd'})\nok: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nWednesday 20 May 2026  19:44:14 +0000 (0:00:01.166)       0:00:53.641 *********\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nWednesday 20 May 2026  19:44:14 +0000 (0:00:00.633)       0:00:54.275 *********\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nWednesday 20 May 2026  19:44:14 +0000 (0:00:00.005)       0:00:54.280 *********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:44:15 +0000 (0:00:00.449)       0:00:54.729 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:44:15 +0000 (0:00:00.250)       0:00:54.980 *********\nok: [controller] => {\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] *******************\nWednesday 20 May 2026  19:44:15 +0000 (0:00:00.054)       0:00:55.034 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:44:16 +0000 (0:00:00.656)       0:00:55.691 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:44:17 +0000 (0:00:01.547)       0:00:57.238 *********\nok: [controller] => {\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] *******************\nWednesday 20 May 2026  19:44:17 +0000 (0:00:00.060)       0:00:57.299 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:44:18 +0000 (0:00:00.621)       0:00:57.920 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nWednesday 20 May 2026  19:44:20 +0000 (0:00:01.581)       0:00:59.502 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nWednesday 20 May 2026  19:44:20 +0000 (0:00:00.571)       0:01:00.073 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:44:20 +0000 (0:00:00.252)       0:01:00.325 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:44:21 +0000 (0:00:00.247)       0:01:00.573 *********\nok: [controller] => {\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] *******************\nWednesday 20 May 2026  19:44:21 +0000 (0:00:00.064)       0:01:00.638 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:44:22 +0000 (0:00:00.942)       0:01:01.581 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nWednesday 20 May 2026  19:44:25 +0000 (0:00:02.884)       0:01:04.465 *********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)\n\nTASK [vexxhost.containers.cni_plugins : Install additional packages] ***********\nWednesday 20 May 2026  19:44:25 +0000 (0:00:00.047)       0:01:04.512 *********\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nWednesday 20 May 2026  19:44:26 +0000 (0:00:00.991)       0:01:05.504 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nWednesday 20 May 2026  19:44:26 +0000 (0:00:00.350)       0:01:05.854 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nWednesday 20 May 2026  19:44:27 +0000 (0:00:00.613)       0:01:06.468 *********\nchanged: [controller] => (item=br_netfilter)\nok: [controller] => (item=ip_tables)\nchanged: [controller] => (item=ip6_tables)\nchanged: [controller] => (item=nf_conntrack)\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:44:28 +0000 (0:00:01.129)       0:01:07.598 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:44:28 +0000 (0:00:00.254)       0:01:07.852 *********\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:44:28 +0000 (0:00:00.037)       0:01:07.890 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:44:30 +0000 (0:00:01.860)       0:01:09.750 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nWednesday 20 May 2026  19:44:30 +0000 (0:00:00.041)       0:01:09.791 *********\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nWednesday 20 May 2026  19:44:30 +0000 (0:00:00.053)       0:01:09.844 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nWednesday 20 May 2026  19:44:30 +0000 (0:00:00.039)       0:01:09.884 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nWednesday 20 May 2026  19:44:35 +0000 (0:00:04.573)       0:01:14.458 *********\nchanged: [controller] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})\nchanged: [controller] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})\nchanged: [controller] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})\nchanged: [controller] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})\nchanged: [controller] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})\nchanged: [controller] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})\nchanged: [controller] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})\n\nTASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***\nWednesday 20 May 2026  19:44:36 +0000 (0:00:01.674)       0:01:16.132 *********\nchanged: [controller] => (item=/etc/systemd/system/kubelet.service.d)\nok: [controller] => (item=/etc/kubernetes)\nok: [controller] => (item=/etc/kubernetes/manifests)\n\nTASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********\nWednesday 20 May 2026  19:44:37 +0000 (0:00:00.735)       0:01:16.867 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nWednesday 20 May 2026  19:44:38 +0000 (0:00:00.596)       0:01:17.464 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nWednesday 20 May 2026  19:44:38 +0000 (0:00:00.578)       0:01:18.043 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nWednesday 20 May 2026  19:44:39 +0000 (0:00:00.374)       0:01:18.417 *********\n[DEPRECATION WARNING]: Conditional result at location /home/zuul/.ansible/colle\nctions/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml\n91:11 was of type 'AnsibleUnsafeText'. Conditional results should only be True\nor False. The result was interpreted as False. This feature will be removed in\nversion 2.19. Deprecation warnings can be disabled by setting\ndeprecation_warnings=False in ansible.cfg.\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nWednesday 20 May 2026  19:44:39 +0000 (0:00:00.042)       0:01:18.460 *********\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nWednesday 20 May 2026  19:44:39 +0000 (0:00:00.580)       0:01:19.041 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nWednesday 20 May 2026  19:44:40 +0000 (0:00:00.567)       0:01:19.609 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nWednesday 20 May 2026  19:44:40 +0000 (0:00:00.680)       0:01:20.290 *********\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nWednesday 20 May 2026  19:44:40 +0000 (0:00:00.004)       0:01:20.294 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nWednesday 20 May 2026  19:44:41 +0000 (0:00:00.891)       0:01:21.186 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nWednesday 20 May 2026  19:44:42 +0000 (0:00:00.749)       0:01:21.936 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nWednesday 20 May 2026  19:44:43 +0000 (0:00:01.396)       0:01:23.332 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nWednesday 20 May 2026  19:44:44 +0000 (0:00:00.817)       0:01:24.150 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nWednesday 20 May 2026  19:44:45 +0000 (0:00:00.366)       0:01:24.516 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nWednesday 20 May 2026  19:44:45 +0000 (0:00:00.489)       0:01:25.006 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nWednesday 20 May 2026  19:44:45 +0000 (0:00:00.112)       0:01:25.118 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***\nWednesday 20 May 2026  19:44:45 +0000 (0:00:00.074)       0:01:25.193 *********\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nWednesday 20 May 2026  19:44:46 +0000 (0:00:00.261)       0:01:25.454 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nWednesday 20 May 2026  19:44:46 +0000 (0:00:00.047)       0:01:25.501 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nWednesday 20 May 2026  19:44:46 +0000 (0:00:00.057)       0:01:25.558 *********\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nWednesday 20 May 2026  19:44:46 +0000 (0:00:00.046)       0:01:25.605 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nWednesday 20 May 2026  19:44:46 +0000 (0:00:00.719)       0:01:26.324 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.036)       0:01:26.361 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.038)       0:01:26.399 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.038)       0:01:26.437 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.050)       0:01:26.488 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.038)       0:01:26.527 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.046)       0:01:26.573 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nWednesday 20 May 2026  19:44:47 +0000 (0:00:00.039)       0:01:26.613 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nWednesday 20 May 2026  19:45:13 +0000 (0:00:25.995)       0:01:52.608 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nWednesday 20 May 2026  19:45:13 +0000 (0:00:00.256)       0:01:52.865 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nWednesday 20 May 2026  19:45:13 +0000 (0:00:00.036)       0:01:52.902 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nWednesday 20 May 2026  19:45:13 +0000 (0:00:00.271)       0:01:53.174 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nWednesday 20 May 2026  19:45:14 +0000 (0:00:00.265)       0:01:53.439 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nWednesday 20 May 2026  19:45:14 +0000 (0:00:00.238)       0:01:53.678 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nWednesday 20 May 2026  19:45:14 +0000 (0:00:00.047)       0:01:53.725 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nWednesday 20 May 2026  19:45:14 +0000 (0:00:00.044)       0:01:53.770 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nWednesday 20 May 2026  19:45:14 +0000 (0:00:00.044)       0:01:53.814 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nWednesday 20 May 2026  19:45:21 +0000 (0:00:06.793)       0:02:00.608 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.761)       0:02:01.369 *********\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.044)       0:02:01.414 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.044)       0:02:01.458 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.046)       0:02:01.505 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.045)       0:02:01.550 *********\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.040)       0:02:01.590 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nWednesday 20 May 2026  19:45:22 +0000 (0:00:00.463)       0:02:02.053 *********\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:45:23 +0000 (0:00:01.092)       0:02:03.146 *********\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nWednesday 20 May 2026  19:45:25 +0000 (0:00:01.820)       0:02:04.967 *********\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nWednesday 20 May 2026  19:45:25 +0000 (0:00:00.253)       0:02:05.220 *********\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nWednesday 20 May 2026  19:45:26 +0000 (0:00:01.001)       0:02:06.221 *********\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:45:27 +0000 (0:00:00.263)       0:02:06.485 *********\nok: [controller] => {\n    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:45:27 +0000 (0:00:00.041)       0:02:06.527 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:45:28 +0000 (0:00:00.929)       0:02:07.456 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nWednesday 20 May 2026  19:45:29 +0000 (0:00:01.700)       0:02:09.157 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nWednesday 20 May 2026  19:45:30 +0000 (0:00:00.384)       0:02:09.542 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nWednesday 20 May 2026  19:45:30 +0000 (0:00:00.679)       0:02:10.221 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nWednesday 20 May 2026  19:45:31 +0000 (0:00:00.300)       0:02:10.521 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nWednesday 20 May 2026  19:45:31 +0000 (0:00:00.260)       0:02:10.782 *********\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nWednesday 20 May 2026  19:45:31 +0000 (0:00:00.252)       0:02:11.034 *********\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nWednesday 20 May 2026  19:45:31 +0000 (0:00:00.052)       0:02:11.087 *********\nok: [controller] => {\n    \"msg\": \"https://github.com/databus23/helm-diff/releases/download/v3.8.1/helm-diff-linux-amd64.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nWednesday 20 May 2026  19:45:31 +0000 (0:00:00.039)       0:02:11.127 *********\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nWednesday 20 May 2026  19:45:32 +0000 (0:00:00.724)       0:02:11.852 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:45:34 +0000 (0:00:02.033)       0:02:13.885 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:45:34 +0000 (0:00:00.036)       0:02:13.922 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nWednesday 20 May 2026  19:45:35 +0000 (0:00:00.709)       0:02:14.632 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nWednesday 20 May 2026  19:45:36 +0000 (0:00:01.044)       0:02:15.676 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:45:38 +0000 (0:00:02.136)       0:02:17.812 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:45:38 +0000 (0:00:00.032)       0:02:17.845 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************\nWednesday 20 May 2026  19:45:39 +0000 (0:00:00.513)       0:02:18.359 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************\nWednesday 20 May 2026  19:46:09 +0000 (0:00:30.173)       0:02:48.532 *********\nchanged: [controller]\n\nPLAY [all] *********************************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:46:09 +0000 (0:00:00.781)       0:02:49.314 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.kubernetes_node_labels : Add labels to node] *********\nWednesday 20 May 2026  19:46:10 +0000 (0:00:01.003)       0:02:50.317 *********\nchanged: [controller]\n\nPLAY [all] *********************************************************************\n\nTASK [Uninstall unattended-upgrades] *******************************************\nWednesday 20 May 2026  19:46:11 +0000 (0:00:00.791)       0:02:51.109 *********\nok: [controller]\n\nPLAY [controllers] *************************************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:46:12 +0000 (0:00:00.708)       0:02:51.818 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:46:13 +0000 (0:00:01.026)       0:02:52.844 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:46:13 +0000 (0:00:00.035)       0:02:52.880 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.local_path_provisioner : Deploy Helm chart] **********\nWednesday 20 May 2026  19:46:14 +0000 (0:00:00.512)       0:02:53.392 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:46:15 +0000 (0:00:01.962)       0:02:55.355 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Collect \"ceph mon dump\" output from a monitor] ***\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.033)       0:02:55.388 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Generate fact with Ceph FSID] *********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.036)       0:02:55.424 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Generate fact with list of Ceph monitors] ***\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.032)       0:02:55.456 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Create Ceph pool] *********************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.028)       0:02:55.485 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Create user client.kube] **************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.043)       0:02:55.528 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Retrieve keyring for client.kube] *****\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.048)       0:02:55.577 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Store keyring inside fact] ************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.031)       0:02:55.609 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ceph_csi_rbd : Deploy Helm chart] ********************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.026)       0:02:55.636 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.powerstore_csi : Clone PowerStore CSI from GitHub] ***\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.034)       0:02:55.670 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.powerstore_csi : Create Secret] **********************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.700 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.powerstore_csi : Create StorageClass] ****************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.027)       0:02:55.728 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.powerstore_csi : Deploy Helm chart] ******************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.031)       0:02:55.760 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.multipathd : Add backports PPA] **********************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.033)       0:02:55.794 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.multipathd : Install the multipathd package] *********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.824 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.multipathd : Install the configuration file] *********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.855 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Detect if InitiatorName is set] ***********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.885 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Generate a new InitiatorName] *************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.032)       0:02:55.917 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Write the new InitiatorName] **************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.948 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Create namespace] *************************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.025)       0:02:55.974 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Install Portworx] *************************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.029)       0:02:56.003 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Wait till the CRDs are created] ***********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.028)       0:02:56.031 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.portworx : Create Portworx Storage Cluster] **********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.036)       0:02:56.068 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.storpool_csi : Deploy CSI RBAC] **********************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.035)       0:02:56.104 *********\nskipping: [controller] => (item={'name': 'controllerplugin'})\nskipping: [controller] => (item={'name': 'nodeplugin'})\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.storpool_csi : Deploy CSI] ***************************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.032)       0:02:56.137 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.storpool_csi : Create StorageClass] ******************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.029)       0:02:56.166 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ibm_block_csi_driver : Deploy CSI] *******************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.035)       0:02:56.201 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ibm_block_csi_driver : Create Secret] ****************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:56.232 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.ibm_block_csi_driver : Create StorageClass] **********\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.028)       0:02:56.261 *********\nskipping: [controller]\n\nPLAY [Deploy minimal OpenStack services for Glance] ****************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:46:16 +0000 (0:00:00.065)       0:02:56.326 *********\nok: [controller]\n\nTASK [Expose OS family for Atmosphere roles] ***********************************\nWednesday 20 May 2026  19:46:18 +0000 (0:00:01.243)       0:02:57.570 *********\nok: [controller]\n\nTASK [Deploy Helm chart] *******************************************************\nWednesday 20 May 2026  19:46:18 +0000 (0:00:00.046)       0:02:57.617 *********\nincluded: vexxhost.kubernetes.cert_manager for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:46:18 +0000 (0:00:00.053)       0:02:57.670 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:46:18 +0000 (0:00:00.039)       0:02:57.709 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************\nWednesday 20 May 2026  19:46:18 +0000 (0:00:00.538)       0:02:58.248 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.cluster_issuer : Create self-signed cluster issuer] ***\nWednesday 20 May 2026  19:46:36 +0000 (0:00:17.845)       0:03:16.093 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.cluster_issuer : Import tasks for ClusterIssuer type] ***\nWednesday 20 May 2026  19:46:37 +0000 (0:00:00.840)       0:03:16.934 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/atmosphere/roles/cluster_issuer/tasks/type/self-signed/main.yml for controller\n\nTASK [vexxhost.atmosphere.cluster_issuer : Create ClusterIssuer] ***************\nWednesday 20 May 2026  19:46:37 +0000 (0:00:00.044)       0:03:16.978 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.cluster_issuer : Wait till the secret is created] ****\nWednesday 20 May 2026  19:46:38 +0000 (0:00:00.877)       0:03:17.855 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.cluster_issuer : Copy CA certificate on host] ********\nWednesday 20 May 2026  19:46:39 +0000 (0:00:00.783)       0:03:18.639 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.cluster_issuer : Flush all handlers] *****************\nWednesday 20 May 2026  19:46:39 +0000 (0:00:00.618)       0:03:19.257 *********\n\nRUNNING HANDLER [vexxhost.atmosphere.cluster_issuer : Install openssl-perl package] ***\nWednesday 20 May 2026  19:46:39 +0000 (0:00:00.002)       0:03:19.260 *********\nskipping: [controller]\n\nRUNNING HANDLER [vexxhost.atmosphere.cluster_issuer : Update CA certificates] ***\nWednesday 20 May 2026  19:46:39 +0000 (0:00:00.038)       0:03:19.298 *********\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.atmosphere.cluster_issuer : Rehash CA certificates] ***\nWednesday 20 May 2026  19:46:42 +0000 (0:00:02.535)       0:03:21.834 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:46:52 +0000 (0:00:10.165)       0:03:32.000 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:46:52 +0000 (0:00:00.037)       0:03:32.038 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.ingress_nginx : Deploy Helm chart] *******************\nWednesday 20 May 2026  19:46:53 +0000 (0:00:00.567)       0:03:32.606 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:47:08 +0000 (0:00:14.839)       0:03:47.445 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:47:08 +0000 (0:00:00.037)       0:03:47.482 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq_cluster_operator : Install all CRDs] ********\nWednesday 20 May 2026  19:47:08 +0000 (0:00:00.535)       0:03:48.018 *********\nok: [controller] => (item=messaging-topology-operator)\nok: [controller] => (item=rabbitmq-cluster)\n\nTASK [vexxhost.atmosphere.rabbitmq_cluster_operator : Deploy Helm chart] *******\nWednesday 20 May 2026  19:47:11 +0000 (0:00:03.115)       0:03:51.134 *********\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:47:15 +0000 (0:00:03.643)       0:03:54.778 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:47:15 +0000 (0:00:00.036)       0:03:54.815 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster_operator : Install all CRDs] ***\nWednesday 20 May 2026  19:47:15 +0000 (0:00:00.500)       0:03:55.316 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster_operator : Deploy Helm chart] ***\nWednesday 20 May 2026  19:47:18 +0000 (0:00:02.672)       0:03:57.988 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Check if the Percona XtraDB cluster secret exists] ***\nWednesday 20 May 2026  19:47:21 +0000 (0:00:02.546)       0:04:00.535 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Create a secret] ************\nWednesday 20 May 2026  19:47:21 +0000 (0:00:00.764)       0:04:01.299 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Check if the Percona XtraDB cluster exists] ***\nWednesday 20 May 2026  19:47:22 +0000 (0:00:00.801)       0:04:02.101 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Get current status of the cluster] ***\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.838)       0:04:02.939 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Assert that the cluster is healthy before upgrade] ***\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.036)       0:04:02.976 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Stop PXC-operator] **********\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.039)       0:04:03.016 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Change the cluster Statefulset image to 8.0] ***\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.040)       0:04:03.057 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Wait until the cluster Statefulset rollout] ***\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.038)       0:04:03.095 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Update pxc cluster spec] ****\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.035)       0:04:03.131 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Start PXC-operator] *********\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.039)       0:04:03.171 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Apply Percona XtraDB cluster] ***\nWednesday 20 May 2026  19:47:23 +0000 (0:00:00.035)       0:04:03.206 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.percona_xtradb_cluster : Create percona haproxy metric service] ***\nWednesday 20 May 2026  19:49:30 +0000 (0:02:06.339)       0:06:09.545 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***\nWednesday 20 May 2026  19:49:30 +0000 (0:00:00.807)       0:06:10.353 *********\nok: [controller]\n\nTASK [Create RabbitMQ cluster] *************************************************\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.059)       0:06:10.412 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.029)       0:06:10.442 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.036)       0:06:10.478 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.042)       0:06:10.520 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.033)       0:06:10.553 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.029)       0:06:10.583 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.037)       0:06:10.621 *********\nok: [controller] => (item=oslo_cache)\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.052)       0:06:10.673 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.046)       0:06:10.719 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.037)       0:06:10.757 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.memcached : Deploy Helm chart] ***********************\nWednesday 20 May 2026  19:49:31 +0000 (0:00:00.541)       0:06:11.299 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.memcached : Apply manifests for monitoring] **********\nWednesday 20 May 2026  19:49:33 +0000 (0:00:01.511)       0:06:12.811 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***\nWednesday 20 May 2026  19:49:34 +0000 (0:00:00.799)       0:06:13.610 *********\nskipping: [controller]\n\nTASK [Create RabbitMQ cluster] *************************************************\nWednesday 20 May 2026  19:49:34 +0000 (0:00:00.041)       0:06:13.652 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***\nWednesday 20 May 2026  19:49:34 +0000 (0:00:00.033)       0:06:13.685 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***\nWednesday 20 May 2026  19:49:34 +0000 (0:00:00.035)       0:06:13.720 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***\nWednesday 20 May 2026  19:49:34 +0000 (0:00:00.036)       0:06:13.756 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***\nWednesday 20 May 2026  19:49:35 +0000 (0:00:00.837)       0:06:14.594 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***\nWednesday 20 May 2026  19:49:35 +0000 (0:00:00.043)       0:06:14.637 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***\nWednesday 20 May 2026  19:49:35 +0000 (0:00:00.032)       0:06:14.670 *********\nok: [controller] => (item=oslo_db)\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********\nWednesday 20 May 2026  19:49:35 +0000 (0:00:00.045)       0:06:14.716 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:49:35 +0000 (0:00:00.036)       0:06:14.752 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:49:35 +0000 (0:00:00.035)       0:06:14.787 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Get the Kuberentes service for Percona XtraDB Cluster] ***\nWednesday 20 May 2026  19:49:36 +0000 (0:00:00.661)       0:06:15.449 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Install MySQL python package] *************\nWednesday 20 May 2026  19:49:36 +0000 (0:00:00.809)       0:06:16.259 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Check MySQL ready] ************************\nWednesday 20 May 2026  19:49:38 +0000 (0:00:01.371)       0:06:17.630 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Create Keycloak database] *****************\nWednesday 20 May 2026  19:49:38 +0000 (0:00:00.459)       0:06:18.090 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Create a Keycloak user] *******************\nWednesday 20 May 2026  19:49:39 +0000 (0:00:00.493)       0:06:18.583 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Disable pxc strict mode] ******************\nWednesday 20 May 2026  19:49:39 +0000 (0:00:00.544)       0:06:19.128 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Deploy Helm chart] ************************\nWednesday 20 May 2026  19:49:40 +0000 (0:00:00.423)       0:06:19.551 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Wait until keycloak ready] ****************\nWednesday 20 May 2026  19:52:13 +0000 (0:02:33.630)       0:08:53.181 *********\nok: [controller]\n\nTASK [Create Keycloak Ingress] *************************************************\nWednesday 20 May 2026  19:52:14 +0000 (0:00:00.909)       0:08:54.090 *********\nincluded: ingress for controller\n\nTASK [vexxhost.atmosphere.ingress : Create Ingress keycloak] *******************\nWednesday 20 May 2026  19:52:14 +0000 (0:00:00.045)       0:08:54.136 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keycloak : Enable pxc strict mode] *******************\nWednesday 20 May 2026  19:52:15 +0000 (0:00:00.981)       0:08:55.117 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstacksdk : Install openstacksdk] *****************\nWednesday 20 May 2026  19:52:16 +0000 (0:00:00.338)       0:08:55.456 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstacksdk : Create openstack config directory] ****\nWednesday 20 May 2026  19:52:17 +0000 (0:00:01.078)       0:08:56.534 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.openstacksdk : Generate cloud config file] ***********\nWednesday 20 May 2026  19:52:17 +0000 (0:00:00.259)       0:08:56.793 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***\nWednesday 20 May 2026  19:52:18 +0000 (0:00:00.607)       0:08:57.401 *********\nok: [controller]\n\nTASK [Create RabbitMQ cluster] *************************************************\nWednesday 20 May 2026  19:52:18 +0000 (0:00:00.066)       0:08:57.467 *********\nincluded: rabbitmq for controller\n\nTASK [vexxhost.atmosphere.rabbitmq : Verify state of current RabbitMQ cluster] ***\nWednesday 20 May 2026  19:52:18 +0000 (0:00:00.053)       0:08:57.521 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Print diff of RabbitMQ cluster spec] ******\nWednesday 20 May 2026  19:52:19 +0000 (0:00:00.849)       0:08:58.371 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Wait for confirmation of RabbitMQ cluster spec] ***\nWednesday 20 May 2026  19:52:19 +0000 (0:00:00.037)       0:08:58.409 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Enable all feature flags for upgrade] *****\nWednesday 20 May 2026  19:52:19 +0000 (0:00:00.041)       0:08:58.451 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Deploy cluster] ***************************\nWednesday 20 May 2026  19:52:19 +0000 (0:00:00.035)       0:08:58.486 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***\nWednesday 20 May 2026  19:52:50 +0000 (0:00:30.972)       0:09:29.458 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***\nWednesday 20 May 2026  19:52:50 +0000 (0:00:00.808)       0:09:30.267 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***\nWednesday 20 May 2026  19:52:50 +0000 (0:00:00.039)       0:09:30.307 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***\nWednesday 20 May 2026  19:52:50 +0000 (0:00:00.042)       0:09:30.349 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***\nWednesday 20 May 2026  19:52:51 +0000 (0:00:00.040)       0:09:30.389 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***\nWednesday 20 May 2026  19:52:51 +0000 (0:00:00.034)       0:09:30.424 *********\nok: [controller] => (item=oslo_db)\nok: [controller] => (item=oslo_cache)\nok: [controller] => (item=oslo_messaging)\nok: [controller] => (item=identity)\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********\nWednesday 20 May 2026  19:52:51 +0000 (0:00:00.069)       0:09:30.493 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:52:51 +0000 (0:00:00.041)       0:09:30.534 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:52:51 +0000 (0:00:00.036)       0:09:30.571 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Create Keycloak realms] *******************\nWednesday 20 May 2026  19:52:51 +0000 (0:00:00.557)       0:09:31.129 *********\nok: [controller] => (item=None)\nok: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Setup Keycloak Authentication Required Actions (MFA)] ***\nWednesday 20 May 2026  19:52:59 +0000 (0:00:07.660)       0:09:38.789 *********\nok: [controller] => (item=atmosphere)\n\nTASK [vexxhost.atmosphere.keystone : Create ConfigMap with all OpenID connect configurations] ***\nWednesday 20 May 2026  19:53:00 +0000 (0:00:01.136)       0:09:39.926 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Create Keycloak clients] ******************\nWednesday 20 May 2026  19:53:01 +0000 (0:00:01.030)       0:09:40.956 *********\nchanged: [controller] => (item=None)\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Assign realm-management roles to service account] ***\nWednesday 20 May 2026  19:53:03 +0000 (0:00:01.532)       0:09:42.489 *********\nchanged: [controller] => (item=None)\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Deploy Helm chart] ************************\nWednesday 20 May 2026  19:53:04 +0000 (0:00:01.761)       0:09:44.250 *********\nchanged: [controller]\n\nTASK [Create Ingress] **********************************************************\nWednesday 20 May 2026  19:55:49 +0000 (0:02:44.878)       0:12:29.129 *********\nincluded: openstack_helm_ingress for controller\n\nTASK [vexxhost.atmosphere.openstack_helm_ingress : Create certificate] *********\nWednesday 20 May 2026  19:55:49 +0000 (0:00:00.066)       0:12:29.196 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_ingress : Set fact with wildcard certificate] ***\nWednesday 20 May 2026  19:55:49 +0000 (0:00:00.046)       0:12:29.242 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_ingress : Add ClusterIssuer annotations] ***\nWednesday 20 May 2026  19:55:49 +0000 (0:00:00.043)       0:12:29.285 *********\nok: [controller]\n\nTASK [Create Ingress identity] *************************************************\nWednesday 20 May 2026  19:55:49 +0000 (0:00:00.064)       0:12:29.350 *********\nincluded: ingress for controller\n\nTASK [vexxhost.atmosphere.ingress : Create Ingress identity] *******************\nWednesday 20 May 2026  19:55:50 +0000 (0:00:00.049)       0:12:29.400 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Validate if ingress is reachable] *********\nWednesday 20 May 2026  19:55:51 +0000 (0:00:01.006)       0:12:30.406 *********\nFAILED - RETRYING: [controller]: Validate if ingress is reachable (120 retries left).\nFAILED - RETRYING: [controller]: Validate if ingress is reachable (119 retries left).\nok: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Wait until identity service ready] ********\nWednesday 20 May 2026  19:55:54 +0000 (0:00:03.386)       0:12:33.793 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.keystone : Create Keystone domains] ******************\nWednesday 20 May 2026  19:55:55 +0000 (0:00:00.837)       0:12:34.630 *********\nok: [controller] => (item=atmosphere)\n\nTASK [vexxhost.atmosphere.keystone : Create Keystone identity providers] *******\nWednesday 20 May 2026  19:55:56 +0000 (0:00:01.170)       0:12:35.800 *********\nchanged: [controller] => (item=atmosphere)\n\nTASK [vexxhost.atmosphere.keystone : Create Keystone federation mappings] ******\nWednesday 20 May 2026  19:55:57 +0000 (0:00:01.249)       0:12:37.049 *********\nchanged: [controller] => (item=atmosphere)\n\nTASK [vexxhost.atmosphere.keystone : Create Keystone federation protocols] *****\nWednesday 20 May 2026  19:55:58 +0000 (0:00:01.075)       0:12:38.125 *********\nchanged: [controller] => (item=atmosphere)\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***\nWednesday 20 May 2026  19:55:59 +0000 (0:00:01.111)       0:12:39.236 *********\nok: [controller]\n\nTASK [Create RabbitMQ cluster] *************************************************\nWednesday 20 May 2026  19:55:59 +0000 (0:00:00.065)       0:12:39.301 *********\nincluded: rabbitmq for controller\n\nTASK [vexxhost.atmosphere.rabbitmq : Verify state of current RabbitMQ cluster] ***\nWednesday 20 May 2026  19:55:59 +0000 (0:00:00.049)       0:12:39.351 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Print diff of RabbitMQ cluster spec] ******\nWednesday 20 May 2026  19:56:00 +0000 (0:00:00.817)       0:12:40.169 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Wait for confirmation of RabbitMQ cluster spec] ***\nWednesday 20 May 2026  19:56:00 +0000 (0:00:00.040)       0:12:40.209 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Enable all feature flags for upgrade] *****\nWednesday 20 May 2026  19:56:00 +0000 (0:00:00.035)       0:12:40.244 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.rabbitmq : Deploy cluster] ***************************\nWednesday 20 May 2026  19:56:00 +0000 (0:00:00.036)       0:12:40.281 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***\nWednesday 20 May 2026  19:56:31 +0000 (0:00:30.960)       0:13:11.242 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.786)       0:13:12.029 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.044)       0:13:12.073 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.039)       0:13:12.112 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.040)       0:13:12.153 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.038)       0:13:12.192 *********\nok: [controller] => (item=oslo_cache)\nok: [controller] => (item=oslo_messaging)\nok: [controller] => (item=image)\nok: [controller] => (item=identity)\nok: [controller] => (item=oslo_db)\nok: [controller] => (item=dashboard)\n\nTASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.095)       0:13:12.287 *********\nok: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nWednesday 20 May 2026  19:56:32 +0000 (0:00:00.044)       0:13:12.331 *********\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nWednesday 20 May 2026  19:56:33 +0000 (0:00:00.037)       0:13:12.369 *********\nchanged: [controller]\n\nTASK [vexxhost.atmosphere.glance : Generate Helm values (storage)] *************\nWednesday 20 May 2026  19:56:33 +0000 (0:00:00.558)       0:13:12.928 *********\nok: [controller]\n\nTASK [vexxhost.atmosphere.glance : Deploy Helm chart] **************************\nWednesday 20 May 2026  19:56:33 +0000 (0:00:00.255)       0:13:13.183 *********\nchanged: [controller]\n\nTASK [Create Ingress] **********************************************************\nWednesday 20 May 2026  19:58:44 +0000 (0:02:10.392)       0:15:23.575 *********\nincluded: openstack_helm_ingress for controller\n\nTASK [vexxhost.atmosphere.openstack_helm_ingress : Create certificate] *********\nWednesday 20 May 2026  19:58:44 +0000 (0:00:00.057)       0:15:23.633 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_ingress : Set fact with wildcard certificate] ***\nWednesday 20 May 2026  19:58:44 +0000 (0:00:00.040)       0:15:23.674 *********\nskipping: [controller]\n\nTASK [vexxhost.atmosphere.openstack_helm_ingress : Add ClusterIssuer annotations] ***\nWednesday 20 May 2026  19:58:44 +0000 (0:00:00.039)       0:15:23.714 *********\nok: [controller]\n\nTASK [Create Ingress image] ****************************************************\nWednesday 20 May 2026  19:58:44 +0000 (0:00:00.047)       0:15:23.762 *********\nincluded: ingress for controller\n\nTASK [vexxhost.atmosphere.ingress : Create Ingress image] **********************\nWednesday 20 May 2026  19:58:44 +0000 (0:00:00.045)       0:15:23.807 *********\nchanged: [controller]\n\nTASK [Create images] ***********************************************************\nWednesday 20 May 2026  19:58:45 +0000 (0:00:01.045)       0:15:24.853 *********\nskipping: [controller]\n\nPLAY [Prepare local image source] **********************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:58:45 +0000 (0:00:00.041)       0:15:24.894 *********\nok: [controller]\n\nTASK [Create image source directory] *******************************************\nWednesday 20 May 2026  19:58:47 +0000 (0:00:01.569)       0:15:26.464 *********\nchanged: [controller]\n\nTASK [Create raw test image] ***************************************************\nWednesday 20 May 2026  19:58:47 +0000 (0:00:00.239)       0:15:26.704 *********\nchanged: [controller]\n\nTASK [Write initial image ETag] ************************************************\nWednesday 20 May 2026  19:58:47 +0000 (0:00:00.268)       0:15:26.972 *********\nchanged: [controller]\n\nTASK [Copy ETag-aware image server] ********************************************\nWednesday 20 May 2026  19:58:48 +0000 (0:00:00.552)       0:15:27.525 *********\nchanged: [controller]\n\nTASK [Check if image source is already listening] ******************************\nWednesday 20 May 2026  19:58:48 +0000 (0:00:00.576)       0:15:28.101 *********\nok: [controller]\n\nTASK [Start ETag-aware image server] *******************************************\nWednesday 20 May 2026  19:58:49 +0000 (0:00:00.432)       0:15:28.534 *********\nok: [controller]\n\nTASK [Wait for image source to answer HEAD requests] ***************************\nWednesday 20 May 2026  19:58:49 +0000 (0:00:00.540)       0:15:29.075 *********\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=237  changed=104  unreachable=0    failed=0    skipped=96   rescued=0    ignored=2\n\nWednesday 20 May 2026  19:58:50 +0000 (0:00:00.412)       0:15:29.488 *********\n===============================================================================\nvexxhost.atmosphere.keystone : Deploy Helm chart ---------------------- 164.88s\nvexxhost.atmosphere.keycloak : Deploy Helm chart ---------------------- 153.63s\nvexxhost.atmosphere.glance : Deploy Helm chart ------------------------ 130.39s\nvexxhost.atmosphere.percona_xtradb_cluster : Apply Percona XtraDB cluster - 126.34s\nvexxhost.atmosphere.rabbitmq : Deploy cluster -------------------------- 30.97s\nvexxhost.atmosphere.rabbitmq : Deploy cluster -------------------------- 30.96s\nvexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 30.17s\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 26.00s\nvexxhost.kubernetes.cert_manager : Deploy Helm chart ------------------- 17.85s\nvexxhost.atmosphere.ingress_nginx : Deploy Helm chart ------------------ 14.84s\nInstall Debian packages ------------------------------------------------ 11.99s\nvexxhost.atmosphere.cluster_issuer : Rehash CA certificates ------------ 10.17s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 8.47s\nvexxhost.atmosphere.keystone : Create Keycloak realms ------------------- 7.66s\nInstall Python packages used by the test -------------------------------- 7.21s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 6.79s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 4.57s\nvexxhost.atmosphere.rabbitmq_cluster_operator : Deploy Helm chart ------- 3.64s\nvexxhost.atmosphere.keystone : Validate if ingress is reachable --------- 3.39s\nvexxhost.atmosphere.rabbitmq_cluster_operator : Install all CRDs -------- 3.12s\nINFO     [glance-image > prepare] Executed: Successful\nINFO     [glance-image > converge] Executing\n\nPLAY [Manage OpenStack Glance image] *******************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:58:51 +0000 (0:00:00.015)       0:00:00.015 *********\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***\nWednesday 20 May 2026  19:58:53 +0000 (0:00:02.668)       0:00:02.684 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture source ETag when available] *****\nWednesday 20 May 2026  19:58:54 +0000 (0:00:00.494)       0:00:03.179 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Check if image exists] ******************\nWednesday 20 May 2026  19:58:54 +0000 (0:00:00.030)       0:00:03.209 *********\nFAILED - RETRYING: [controller]: Check if image exists (120 retries left).\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***\nWednesday 20 May 2026  19:58:57 +0000 (0:00:03.515)       0:00:06.724 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Decide whether image upload is required] ***\nWednesday 20 May 2026  19:58:57 +0000 (0:00:00.040)       0:00:06.765 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Generate temporary work directory] ******\nWednesday 20 May 2026  19:58:57 +0000 (0:00:00.040)       0:00:06.805 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Download image] *************************\nWednesday 20 May 2026  19:58:58 +0000 (0:00:00.305)       0:00:07.111 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Get image format] ***********************\nWednesday 20 May 2026  19:58:58 +0000 (0:00:00.462)       0:00:07.573 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Convert file to target disk format] *****\nWednesday 20 May 2026  19:58:58 +0000 (0:00:00.348)       0:00:07.921 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Wait until image service ready] *********\nWednesday 20 May 2026  19:58:59 +0000 (0:00:00.039)       0:00:07.961 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Compute pending image name] *************\nWednesday 20 May 2026  19:58:59 +0000 (0:00:00.993)       0:00:08.955 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Upload image into Glance] ***************\nWednesday 20 May 2026  19:59:00 +0000 (0:00:00.035)       0:00:08.990 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***\nWednesday 20 May 2026  19:59:02 +0000 (0:00:02.592)       0:00:11.583 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***\nWednesday 20 May 2026  19:59:02 +0000 (0:00:00.033)       0:00:11.616 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Remove work directory] ******************\nWednesday 20 May 2026  19:59:02 +0000 (0:00:00.028)       0:00:11.645 *********\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=13   changed=4    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0\n\nWednesday 20 May 2026  19:59:03 +0000 (0:00:00.349)       0:00:11.995 *********\n===============================================================================\natmosphere.common.glance_image : Check if image exists ------------------ 3.52s\nGathering Facts --------------------------------------------------------- 2.67s\natmosphere.common.glance_image : Upload image into Glance --------------- 2.59s\natmosphere.common.glance_image : Wait until image service ready --------- 0.99s\natmosphere.common.glance_image : Fetch source image metadata from URL --- 0.49s\natmosphere.common.glance_image : Download image ------------------------- 0.46s\natmosphere.common.glance_image : Remove work directory ------------------ 0.35s\natmosphere.common.glance_image : Get image format ----------------------- 0.35s\natmosphere.common.glance_image : Generate temporary work directory ------ 0.31s\natmosphere.common.glance_image : Decide whether image upload is required --- 0.04s\natmosphere.common.glance_image : Capture existing image and its Atmosphere metadata --- 0.04s\natmosphere.common.glance_image : Convert file to target disk format ----- 0.04s\natmosphere.common.glance_image : Compute pending image name ------------- 0.04s\natmosphere.common.glance_image : Rename outdated image to preserve audit trail --- 0.03s\natmosphere.common.glance_image : Capture source ETag when available ----- 0.03s\natmosphere.common.glance_image : Promote newly uploaded image to canonical name --- 0.03s\nINFO     [glance-image > converge] Executed: Successful\nINFO     [glance-image > idempotence] Executing\n\nPLAY [Manage OpenStack Glance image] *******************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:59:03 +0000 (0:00:00.017)       0:00:00.017 *********\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***\nWednesday 20 May 2026  19:59:05 +0000 (0:00:01.858)       0:00:01.875 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture source ETag when available] *****\nWednesday 20 May 2026  19:59:06 +0000 (0:00:00.560)       0:00:02.436 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Check if image exists] ******************\nWednesday 20 May 2026  19:59:06 +0000 (0:00:00.038)       0:00:02.474 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***\nWednesday 20 May 2026  19:59:07 +0000 (0:00:01.325)       0:00:03.800 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Decide whether image upload is required] ***\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.032)       0:00:03.832 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Generate temporary work directory] ******\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.044)       0:00:03.876 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Download image] *************************\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.028)       0:00:03.905 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Get image format] ***********************\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.026)       0:00:03.931 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Convert file to target disk format] *****\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:03.959 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Wait until image service ready] *********\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:03.987 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Compute pending image name] *************\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:04.014 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Upload image into Glance] ***************\nWednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:04.042 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***\nWednesday 20 May 2026  19:59:08 +0000 (0:00:00.032)       0:00:04.075 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***\nWednesday 20 May 2026  19:59:08 +0000 (0:00:00.031)       0:00:04.106 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Remove work directory] ******************\nWednesday 20 May 2026  19:59:08 +0000 (0:00:00.026)       0:00:04.133 *********\nskipping: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=6    changed=0    unreachable=0    failed=0    skipped=10   rescued=0    ignored=0\n\nWednesday 20 May 2026  19:59:08 +0000 (0:00:00.029)       0:00:04.162 *********\n===============================================================================\nGathering Facts --------------------------------------------------------- 1.86s\natmosphere.common.glance_image : Check if image exists ------------------ 1.33s\natmosphere.common.glance_image : Fetch source image metadata from URL --- 0.56s\natmosphere.common.glance_image : Decide whether image upload is required --- 0.04s\natmosphere.common.glance_image : Capture source ETag when available ----- 0.04s\natmosphere.common.glance_image : Upload image into Glance --------------- 0.03s\natmosphere.common.glance_image : Capture existing image and its Atmosphere metadata --- 0.03s\natmosphere.common.glance_image : Rename outdated image to preserve audit trail --- 0.03s\natmosphere.common.glance_image : Remove work directory ------------------ 0.03s\natmosphere.common.glance_image : Generate temporary work directory ------ 0.03s\natmosphere.common.glance_image : Convert file to target disk format ----- 0.03s\natmosphere.common.glance_image : Compute pending image name ------------- 0.03s\natmosphere.common.glance_image : Get image format ----------------------- 0.03s\natmosphere.common.glance_image : Wait until image service ready --------- 0.03s\natmosphere.common.glance_image : Promote newly uploaded image to canonical name --- 0.03s\natmosphere.common.glance_image : Download image ------------------------- 0.03s\nINFO     [glance-image > idempotence] Executed: Successful\nINFO     [glance-image > side_effect] Executing\nWARNING  [glance-image > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [glance-image > verify] Executing\n\nPLAY [Verify Glance image lifecycle] *******************************************\n\nTASK [Gathering Facts] *********************************************************\nWednesday 20 May 2026  19:59:08 +0000 (0:00:00.007)       0:00:00.007 *********\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Get initial image] *******************************************************\nWednesday 20 May 2026  19:59:10 +0000 (0:00:01.874)       0:00:01.882 *********\nok: [controller]\n\nTASK [Assert initial image properties] *****************************************\nWednesday 20 May 2026  19:59:12 +0000 (0:00:01.338)       0:00:03.221 *********\nok: [controller] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Run role again with unchanged ETag] **************************************\nWednesday 20 May 2026  19:59:12 +0000 (0:00:00.047)       0:00:03.268 *********\nincluded: atmosphere.common.glance_image for controller\n\nTASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***\nWednesday 20 May 2026  19:59:12 +0000 (0:00:00.052)       0:00:03.320 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture source ETag when available] *****\nWednesday 20 May 2026  19:59:12 +0000 (0:00:00.539)       0:00:03.860 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Check if image exists] ******************\nWednesday 20 May 2026  19:59:12 +0000 (0:00:00.034)       0:00:03.895 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.943)       0:00:04.839 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Decide whether image upload is required] ***\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.043)       0:00:04.883 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Generate temporary work directory] ******\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.043)       0:00:04.926 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Download image] *************************\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.023)       0:00:04.950 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Get image format] ***********************\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.027)       0:00:04.977 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Convert file to target disk format] *****\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.027)       0:00:05.004 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Wait until image service ready] *********\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.030)       0:00:05.035 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Compute pending image name] *************\nWednesday 20 May 2026  19:59:13 +0000 (0:00:00.026)       0:00:05.062 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Upload image into Glance] ***************\nWednesday 20 May 2026  19:59:14 +0000 (0:00:00.026)       0:00:05.088 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***\nWednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.117 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***\nWednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.145 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Remove work directory] ******************\nWednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.174 *********\nskipping: [controller]\n\nTASK [Get image after unchanged ETag run] **************************************\nWednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.202 *********\nok: [controller]\n\nTASK [Assert unchanged ETag does not re-upload] ********************************\nWednesday 20 May 2026  19:59:15 +0000 (0:00:00.924)       0:00:06.127 *********\nok: [controller] => {\n    \"changed\": false,\n    \"msg\": \"All assertions passed\"\n}\n\nTASK [Change source ETag] ******************************************************\nWednesday 20 May 2026  19:59:15 +0000 (0:00:00.040)       0:00:06.167 *********\nchanged: [controller]\n\nTASK [Run role again with changed ETag] ****************************************\nWednesday 20 May 2026  19:59:15 +0000 (0:00:00.813)       0:00:06.981 *********\nincluded: atmosphere.common.glance_image for controller\n\nTASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***\nWednesday 20 May 2026  19:59:15 +0000 (0:00:00.053)       0:00:07.034 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture source ETag when available] *****\nWednesday 20 May 2026  19:59:16 +0000 (0:00:00.488)       0:00:07.523 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Check if image exists] ******************\nWednesday 20 May 2026  19:59:16 +0000 (0:00:00.044)       0:00:07.567 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***\nWednesday 20 May 2026  19:59:17 +0000 (0:00:01.228)       0:00:08.796 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Decide whether image upload is required] ***\nWednesday 20 May 2026  19:59:17 +0000 (0:00:00.050)       0:00:08.847 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Generate temporary work directory] ******\nWednesday 20 May 2026  19:59:17 +0000 (0:00:00.050)       0:00:08.898 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Download image] *************************\nWednesday 20 May 2026  19:59:18 +0000 (0:00:00.326)       0:00:09.224 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Get image format] ***********************\nWednesday 20 May 2026  19:59:18 +0000 (0:00:00.485)       0:00:09.710 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Convert file to target disk format] *****\nWednesday 20 May 2026  19:59:18 +0000 (0:00:00.348)       0:00:10.058 *********\nskipping: [controller]\n\nTASK [atmosphere.common.glance_image : Wait until image service ready] *********\nWednesday 20 May 2026  19:59:19 +0000 (0:00:00.034)       0:00:10.092 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Compute pending image name] *************\nWednesday 20 May 2026  19:59:20 +0000 (0:00:01.002)       0:00:11.095 *********\nok: [controller]\n\nTASK [atmosphere.common.glance_image : Upload image into Glance] ***************\nWednesday 20 May 2026  19:59:20 +0000 (0:00:00.050)       0:00:11.146 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***\nWednesday 20 May 2026  19:59:21 +0000 (0:00:01.422)       0:00:12.568 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***\nWednesday 20 May 2026  19:59:22 +0000 (0:00:01.068)       0:00:13.636 *********\nchanged: [controller]\n\nTASK [atmosphere.common.glance_image : Remove work directory] ******************\nWednesday 20 May 2026  19:59:23 +0000 (0:00:01.394)       0:00:15.031 *********\nchanged: [controller]\n\nTASK [Get canonical image after ETag update] ***********************************\nWednesday 20 May 2026  19:59:24 +0000 (0:00:00.347)       0:00:15.379 *********\nok: [controller]\n\nTASK [Get obsolete image after ETag update] ************************************\nWednesday 20 May 2026  19:59:25 +0000 (0:00:00.899)       0:00:16.279 *********\nok: [controller]\n\nTASK [Assert image update behavior] ********************************************\nWednesday 20 May 2026  19:59:26 +0000 (0:00:00.937)       0:00:17.216 *********\nfatal: [controller]: FAILED! => {\n    \"assertion\": \"_obsolete_image.images | length == 1\",\n    \"changed\": false,\n    \"evaluated_to\": false,\n    \"msg\": \"Assertion failed\"\n}\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=29   changed=7    unreachable=0    failed=1    skipped=11   rescued=0    ignored=0\n\nWednesday 20 May 2026  19:59:26 +0000 (0:00:00.040)       0:00:17.257 *********\n===============================================================================\nGathering Facts --------------------------------------------------------- 1.87s\natmosphere.common.glance_image : Upload image into Glance --------------- 1.42s\natmosphere.common.glance_image : Promote newly uploaded image to canonical name --- 1.39s\nGet initial image ------------------------------------------------------- 1.34s\natmosphere.common.glance_image : Check if image exists ------------------ 1.23s\natmosphere.common.glance_image : Rename outdated image to preserve audit trail --- 1.07s\natmosphere.common.glance_image : Wait until image service ready --------- 1.00s\natmosphere.common.glance_image : Check if image exists ------------------ 0.94s\nGet obsolete image after ETag update ------------------------------------ 0.94s\nGet image after unchanged ETag run -------------------------------------- 0.92s\nGet canonical image after ETag update ----------------------------------- 0.90s\nChange source ETag ------------------------------------------------------ 0.81s\natmosphere.common.glance_image : Fetch source image metadata from URL --- 0.54s\natmosphere.common.glance_image : Fetch source image metadata from URL --- 0.49s\natmosphere.common.glance_image : Download image ------------------------- 0.49s\natmosphere.common.glance_image : Get image format ----------------------- 0.35s\natmosphere.common.glance_image : Remove work directory ------------------ 0.35s\natmosphere.common.glance_image : Generate temporary work directory ------ 0.33s\nRun role again with changed ETag ---------------------------------------- 0.05s\nRun role again with unchanged ETag -------------------------------------- 0.05s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/verify.yml\nERROR    [glance-image > verify] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/verify.yml",
                            "stdout_lines": [
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "INFO     Collection 'atmosphere.common' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "INFO     [glance-image > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [glance-image > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [glance-image > dependency] Executing",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "'openstack.cloud:2.5.0' is already installed, skipping.",
                                "'vexxhost.kubernetes:3.1.0' is already installed, skipping.",
                                "'vexxhost.containers:1.6.6' is already installed, skipping.",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-atmosphere-7.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/vexxhost-atmosphere-7.6.0-93a55nqh",
                                "Installing 'vexxhost.atmosphere:7.6.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/atmosphere'",
                                "vexxhost.atmosphere:7.6.0 was installed successfully",
                                "'atmosphere.common:0.6.0' is already installed, skipping.",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-posix-1.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/ansible-posix-1.6.0-t33k1fkj",
                                "Installing 'ansible.posix:1.6.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "ansible.posix:1.6.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-general-7.3.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/community-general-7.3.0-middd2fg",
                                "Installing 'community.general:7.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "community.general:7.3.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/kubernetes-core-2.4.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/kubernetes-core-2.4.0-g8xgwq47",
                                "Installing 'kubernetes.core:2.4.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "kubernetes.core:2.4.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-crypto-2.2.3.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/community-crypto-2.2.3-iyg9ouwy",
                                "Installing 'community.crypto:2.2.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "community.crypto:2.2.3 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/community-mysql-3.6.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/community-mysql-3.6.0-exq4_kng",
                                "Installing 'community.mysql:3.6.0' to '/home/zuul/.ansible/collections/ansible_collections/community/mysql'",
                                "community.mysql:3.6.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-netcommon-1.2.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/ansible-netcommon-1.2.0-dss0dgpf",
                                "Installing 'ansible.netcommon:1.2.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'",
                                "ansible.netcommon:1.2.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/vexxhost-ceph-4.0.0.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/vexxhost-ceph-4.0.0-yeatnc07",
                                "Installing 'vexxhost.ceph:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph'",
                                "vexxhost.ceph:4.0.0 was installed successfully",
                                "Downloading https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-utils-6.0.2.tar.gz to /home/zuul/.ansible/tmp/ansible-local-1253as9x5j9g/tmp567xr_gh/ansible-utils-6.0.2-sdy84x82",
                                "Installing 'ansible.utils:6.0.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "ansible.utils:6.0.2 was installed successfully",
                                "INFO     [glance-image > dependency] Dependency completed successfully.",
                                "[WARNING]: Collection ansible.netcommon does not support Ansible version",
                                "2.18.17",
                                "Starting galaxy collection install process",
                                "Nothing to do. All requested collections are already installed. If you want to reinstall them, consider using `--force`.",
                                "INFO     [glance-image > dependency] Dependency completed successfully.",
                                "INFO     [glance-image > dependency] Executed: Successful",
                                "INFO     [glance-image > cleanup] Executing",
                                "WARNING  [glance-image > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [glance-image > destroy] Executing",
                                "WARNING  [glance-image > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [glance-image > destroy] Executed: Successful",
                                "INFO     [glance-image > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/converge.yml",
                                "INFO     [glance-image > syntax] Executed: Successful",
                                "INFO     [glance-image > create] Executing",
                                "WARNING  [glance-image > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [glance-image > prepare] Executing",
                                "",
                                "PLAY [Prepare host packages] ***************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:43:20 +0000 (0:00:00.038)       0:00:00.038 *********",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Wednesday 20 May 2026  19:43:21 +0000 (0:00:01.311)       0:00:01.349 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Install Python packages used by the test] ********************************",
                                "Wednesday 20 May 2026  19:43:33 +0000 (0:00:11.986)       0:00:13.336 *********",
                                "changed: [controller]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:43:41 +0000 (0:00:07.211)       0:00:20.547 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Set a fact with the \"atmosphere_images\" for other plays] *****************",
                                "Wednesday 20 May 2026  19:43:41 +0000 (0:00:00.803)       0:00:21.351 *********",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:43:42 +0000 (0:00:00.135)       0:00:21.486 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Wednesday 20 May 2026  19:43:42 +0000 (0:00:00.789)       0:00:22.276 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Wednesday 20 May 2026  19:43:43 +0000 (0:00:00.415)       0:00:22.691 *********",
                                "ok: [controller] => (item=/etc/keepalived/keepalived.conf)",
                                "ok: [controller] => (item=/etc/keepalived/check_apiserver.sh)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "ok: [controller] => (item=/etc/haproxy/haproxy.cfg)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "Wednesday 20 May 2026  19:43:44 +0000 (0:00:01.072)       0:00:23.763 *********",
                                "failed: [controller] (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: [controller] (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: [controller] (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] *********",
                                "Wednesday 20 May 2026  19:43:45 +0000 (0:00:00.775)       0:00:24.539 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Wednesday 20 May 2026  19:43:45 +0000 (0:00:00.378)       0:00:24.918 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Wednesday 20 May 2026  19:43:45 +0000 (0:00:00.241)       0:00:25.159 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Wednesday 20 May 2026  19:43:45 +0000 (0:00:00.030)       0:00:25.191 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Wednesday 20 May 2026  19:43:45 +0000 (0:00:00.038)       0:00:25.229 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Wednesday 20 May 2026  19:43:46 +0000 (0:00:00.862)       0:00:26.092 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Wednesday 20 May 2026  19:43:46 +0000 (0:00:00.248)       0:00:26.340 *********",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:43:47 +0000 (0:00:00.097)       0:00:26.437 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:43:47 +0000 (0:00:00.834)       0:00:27.272 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 20 May 2026  19:43:48 +0000 (0:00:00.241)       0:00:27.514 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Wednesday 20 May 2026  19:43:48 +0000 (0:00:00.046)       0:00:27.560 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:43:48 +0000 (0:00:00.263)       0:00:27.824 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:43:48 +0000 (0:00:00.077)       0:00:27.901 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:43:49 +0000 (0:00:00.677)       0:00:28.579 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:43:49 +0000 (0:00:00.035)       0:00:28.615 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 20 May 2026  19:43:49 +0000 (0:00:00.271)       0:00:28.886 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:43:50 +0000 (0:00:01.002)       0:00:29.889 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.2.3/containerd-2.2.3-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:43:50 +0000 (0:00:00.070)       0:00:29.959 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:43:51 +0000 (0:00:00.839)       0:00:30.798 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Wednesday 20 May 2026  19:43:54 +0000 (0:00:03.016)       0:00:33.815 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Wednesday 20 May 2026  19:43:54 +0000 (0:00:00.030)       0:00:33.845 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Wednesday 20 May 2026  19:43:54 +0000 (0:00:00.029)       0:00:33.875 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Wednesday 20 May 2026  19:43:54 +0000 (0:00:00.027)       0:00:33.903 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Wednesday 20 May 2026  19:44:03 +0000 (0:00:08.471)       0:00:42.375 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Wednesday 20 May 2026  19:44:03 +0000 (0:00:00.573)       0:00:42.948 *********",
                                "changed: [controller] => (item={'path': '/etc/containerd'})",
                                "changed: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Wednesday 20 May 2026  19:44:04 +0000 (0:00:01.141)       0:00:44.090 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Wednesday 20 May 2026  19:44:05 +0000 (0:00:00.657)       0:00:44.747 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Wednesday 20 May 2026  19:44:05 +0000 (0:00:00.007)       0:00:44.755 *********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Wednesday 20 May 2026  19:44:06 +0000 (0:00:00.819)       0:00:45.574 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Wednesday 20 May 2026  19:44:07 +0000 (0:00:00.910)       0:00:46.485 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Wednesday 20 May 2026  19:44:07 +0000 (0:00:00.713)       0:00:47.199 *********",
                                "An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible_collections.kubernetes.core.plugins.module_utils.k8s.exceptions.CoreException: Could not create API client: Invalid kube-config file. No configuration found.",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Could not create API client: Invalid kube-config file. No configuration found.\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Wednesday 20 May 2026  19:44:08 +0000 (0:00:00.966)       0:00:48.166 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Wednesday 20 May 2026  19:44:08 +0000 (0:00:00.043)       0:00:48.210 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Wednesday 20 May 2026  19:44:08 +0000 (0:00:00.039)       0:00:48.249 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Wednesday 20 May 2026  19:44:08 +0000 (0:00:00.038)       0:00:48.288 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Wednesday 20 May 2026  19:44:08 +0000 (0:00:00.038)       0:00:48.326 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:44:09 +0000 (0:00:00.042)       0:00:48.369 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:44:09 +0000 (0:00:00.238)       0:00:48.607 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:44:09 +0000 (0:00:00.037)       0:00:48.644 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:44:10 +0000 (0:00:00.797)       0:00:49.442 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:44:10 +0000 (0:00:00.037)       0:00:49.480 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:44:10 +0000 (0:00:00.240)       0:00:49.720 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:44:10 +0000 (0:00:00.042)       0:00:49.763 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:44:11 +0000 (0:00:01.016)       0:00:50.779 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Wednesday 20 May 2026  19:44:11 +0000 (0:00:00.048)       0:00:50.828 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Wednesday 20 May 2026  19:44:11 +0000 (0:00:00.035)       0:00:50.863 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Wednesday 20 May 2026  19:44:11 +0000 (0:00:00.035)       0:00:50.899 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Wednesday 20 May 2026  19:44:11 +0000 (0:00:00.036)       0:00:50.936 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Wednesday 20 May 2026  19:44:12 +0000 (0:00:00.986)       0:00:51.922 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Wednesday 20 May 2026  19:44:13 +0000 (0:00:00.552)       0:00:52.475 *********",
                                "ok: [controller] => (item={'path': '/etc/containerd'})",
                                "ok: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Wednesday 20 May 2026  19:44:14 +0000 (0:00:01.166)       0:00:53.641 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Wednesday 20 May 2026  19:44:14 +0000 (0:00:00.633)       0:00:54.275 *********",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Wednesday 20 May 2026  19:44:14 +0000 (0:00:00.005)       0:00:54.280 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:44:15 +0000 (0:00:00.449)       0:00:54.729 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:44:15 +0000 (0:00:00.250)       0:00:54.980 *********",
                                "ok: [controller] => {",
                                "    \"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] *******************",
                                "Wednesday 20 May 2026  19:44:15 +0000 (0:00:00.054)       0:00:55.034 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:44:16 +0000 (0:00:00.656)       0:00:55.691 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:44:17 +0000 (0:00:01.547)       0:00:57.238 *********",
                                "ok: [controller] => {",
                                "    \"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] *******************",
                                "Wednesday 20 May 2026  19:44:17 +0000 (0:00:00.060)       0:00:57.299 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:44:18 +0000 (0:00:00.621)       0:00:57.920 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Wednesday 20 May 2026  19:44:20 +0000 (0:00:01.581)       0:00:59.502 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Wednesday 20 May 2026  19:44:20 +0000 (0:00:00.571)       0:01:00.073 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:44:20 +0000 (0:00:00.252)       0:01:00.325 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:44:21 +0000 (0:00:00.247)       0:01:00.573 *********",
                                "ok: [controller] => {",
                                "    \"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] *******************",
                                "Wednesday 20 May 2026  19:44:21 +0000 (0:00:00.064)       0:01:00.638 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:44:22 +0000 (0:00:00.942)       0:01:01.581 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Wednesday 20 May 2026  19:44:25 +0000 (0:00:02.884)       0:01:04.465 *********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********",
                                "Wednesday 20 May 2026  19:44:25 +0000 (0:00:00.047)       0:01:04.512 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Wednesday 20 May 2026  19:44:26 +0000 (0:00:00.991)       0:01:05.504 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Wednesday 20 May 2026  19:44:26 +0000 (0:00:00.350)       0:01:05.854 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Wednesday 20 May 2026  19:44:27 +0000 (0:00:00.613)       0:01:06.468 *********",
                                "changed: [controller] => (item=br_netfilter)",
                                "ok: [controller] => (item=ip_tables)",
                                "changed: [controller] => (item=ip6_tables)",
                                "changed: [controller] => (item=nf_conntrack)",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:44:28 +0000 (0:00:01.129)       0:01:07.598 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:44:28 +0000 (0:00:00.254)       0:01:07.852 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:44:28 +0000 (0:00:00.037)       0:01:07.890 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:44:30 +0000 (0:00:01.860)       0:01:09.750 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Wednesday 20 May 2026  19:44:30 +0000 (0:00:00.041)       0:01:09.791 *********",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Wednesday 20 May 2026  19:44:30 +0000 (0:00:00.053)       0:01:09.844 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Wednesday 20 May 2026  19:44:30 +0000 (0:00:00.039)       0:01:09.884 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Wednesday 20 May 2026  19:44:35 +0000 (0:00:04.573)       0:01:14.458 *********",
                                "changed: [controller] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***",
                                "Wednesday 20 May 2026  19:44:36 +0000 (0:00:01.674)       0:01:16.132 *********",
                                "changed: [controller] => (item=/etc/systemd/system/kubelet.service.d)",
                                "ok: [controller] => (item=/etc/kubernetes)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********",
                                "Wednesday 20 May 2026  19:44:37 +0000 (0:00:00.735)       0:01:16.867 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Wednesday 20 May 2026  19:44:38 +0000 (0:00:00.596)       0:01:17.464 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Wednesday 20 May 2026  19:44:38 +0000 (0:00:00.578)       0:01:18.043 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Wednesday 20 May 2026  19:44:39 +0000 (0:00:00.374)       0:01:18.417 *********",
                                "[DEPRECATION WARNING]: Conditional result at location /home/zuul/.ansible/colle",
                                "ctions/ansible_collections/vexxhost/kubernetes/roles/kubelet/tasks/main.yml",
                                "91:11 was of type 'AnsibleUnsafeText'. Conditional results should only be True",
                                "or False. The result was interpreted as False. This feature will be removed in",
                                "version 2.19. Deprecation warnings can be disabled by setting",
                                "deprecation_warnings=False in ansible.cfg.",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Wednesday 20 May 2026  19:44:39 +0000 (0:00:00.042)       0:01:18.460 *********",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Wednesday 20 May 2026  19:44:39 +0000 (0:00:00.580)       0:01:19.041 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Wednesday 20 May 2026  19:44:40 +0000 (0:00:00.567)       0:01:19.609 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Wednesday 20 May 2026  19:44:40 +0000 (0:00:00.680)       0:01:20.290 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Wednesday 20 May 2026  19:44:40 +0000 (0:00:00.004)       0:01:20.294 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Wednesday 20 May 2026  19:44:41 +0000 (0:00:00.891)       0:01:21.186 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Wednesday 20 May 2026  19:44:42 +0000 (0:00:00.749)       0:01:21.936 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Wednesday 20 May 2026  19:44:43 +0000 (0:00:01.396)       0:01:23.332 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Wednesday 20 May 2026  19:44:44 +0000 (0:00:00.817)       0:01:24.150 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Wednesday 20 May 2026  19:44:45 +0000 (0:00:00.366)       0:01:24.516 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Wednesday 20 May 2026  19:44:45 +0000 (0:00:00.489)       0:01:25.006 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Wednesday 20 May 2026  19:44:45 +0000 (0:00:00.112)       0:01:25.118 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***",
                                "Wednesday 20 May 2026  19:44:45 +0000 (0:00:00.074)       0:01:25.193 *********",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Wednesday 20 May 2026  19:44:46 +0000 (0:00:00.261)       0:01:25.454 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Wednesday 20 May 2026  19:44:46 +0000 (0:00:00.047)       0:01:25.501 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Wednesday 20 May 2026  19:44:46 +0000 (0:00:00.057)       0:01:25.558 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Wednesday 20 May 2026  19:44:46 +0000 (0:00:00.046)       0:01:25.605 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Wednesday 20 May 2026  19:44:46 +0000 (0:00:00.719)       0:01:26.324 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.036)       0:01:26.361 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.038)       0:01:26.399 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.038)       0:01:26.437 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.050)       0:01:26.488 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.038)       0:01:26.527 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.046)       0:01:26.573 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Wednesday 20 May 2026  19:44:47 +0000 (0:00:00.039)       0:01:26.613 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Wednesday 20 May 2026  19:45:13 +0000 (0:00:25.995)       0:01:52.608 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Wednesday 20 May 2026  19:45:13 +0000 (0:00:00.256)       0:01:52.865 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Wednesday 20 May 2026  19:45:13 +0000 (0:00:00.036)       0:01:52.902 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Wednesday 20 May 2026  19:45:13 +0000 (0:00:00.271)       0:01:53.174 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Wednesday 20 May 2026  19:45:14 +0000 (0:00:00.265)       0:01:53.439 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Wednesday 20 May 2026  19:45:14 +0000 (0:00:00.238)       0:01:53.678 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Wednesday 20 May 2026  19:45:14 +0000 (0:00:00.047)       0:01:53.725 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Wednesday 20 May 2026  19:45:14 +0000 (0:00:00.044)       0:01:53.770 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Wednesday 20 May 2026  19:45:14 +0000 (0:00:00.044)       0:01:53.814 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Wednesday 20 May 2026  19:45:21 +0000 (0:00:06.793)       0:02:00.608 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.761)       0:02:01.369 *********",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.044)       0:02:01.414 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.044)       0:02:01.458 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.046)       0:02:01.505 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.045)       0:02:01.550 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.040)       0:02:01.590 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Wednesday 20 May 2026  19:45:22 +0000 (0:00:00.463)       0:02:02.053 *********",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:45:23 +0000 (0:00:01.092)       0:02:03.146 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Wednesday 20 May 2026  19:45:25 +0000 (0:00:01.820)       0:02:04.967 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Wednesday 20 May 2026  19:45:25 +0000 (0:00:00.253)       0:02:05.220 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Wednesday 20 May 2026  19:45:26 +0000 (0:00:01.001)       0:02:06.221 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:45:27 +0000 (0:00:00.263)       0:02:06.485 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:45:27 +0000 (0:00:00.041)       0:02:06.527 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:45:28 +0000 (0:00:00.929)       0:02:07.456 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Wednesday 20 May 2026  19:45:29 +0000 (0:00:01.700)       0:02:09.157 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Wednesday 20 May 2026  19:45:30 +0000 (0:00:00.384)       0:02:09.542 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Wednesday 20 May 2026  19:45:30 +0000 (0:00:00.679)       0:02:10.221 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Wednesday 20 May 2026  19:45:31 +0000 (0:00:00.300)       0:02:10.521 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Wednesday 20 May 2026  19:45:31 +0000 (0:00:00.260)       0:02:10.782 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Wednesday 20 May 2026  19:45:31 +0000 (0:00:00.252)       0:02:11.034 *********",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Wednesday 20 May 2026  19:45:31 +0000 (0:00:00.052)       0:02:11.087 *********",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/databus23/helm-diff/releases/download/v3.8.1/helm-diff-linux-amd64.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Wednesday 20 May 2026  19:45:31 +0000 (0:00:00.039)       0:02:11.127 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Wednesday 20 May 2026  19:45:32 +0000 (0:00:00.724)       0:02:11.852 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:45:34 +0000 (0:00:02.033)       0:02:13.885 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:45:34 +0000 (0:00:00.036)       0:02:13.922 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Wednesday 20 May 2026  19:45:35 +0000 (0:00:00.709)       0:02:14.632 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Wednesday 20 May 2026  19:45:36 +0000 (0:00:01.044)       0:02:15.676 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:45:38 +0000 (0:00:02.136)       0:02:17.812 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:45:38 +0000 (0:00:00.032)       0:02:17.845 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************",
                                "Wednesday 20 May 2026  19:45:39 +0000 (0:00:00.513)       0:02:18.359 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************",
                                "Wednesday 20 May 2026  19:46:09 +0000 (0:00:30.173)       0:02:48.532 *********",
                                "changed: [controller]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:46:09 +0000 (0:00:00.781)       0:02:49.314 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.kubernetes_node_labels : Add labels to node] *********",
                                "Wednesday 20 May 2026  19:46:10 +0000 (0:00:01.003)       0:02:50.317 *********",
                                "changed: [controller]",
                                "",
                                "PLAY [all] *********************************************************************",
                                "",
                                "TASK [Uninstall unattended-upgrades] *******************************************",
                                "Wednesday 20 May 2026  19:46:11 +0000 (0:00:00.791)       0:02:51.109 *********",
                                "ok: [controller]",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:46:12 +0000 (0:00:00.708)       0:02:51.818 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:46:13 +0000 (0:00:01.026)       0:02:52.844 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:46:13 +0000 (0:00:00.035)       0:02:52.880 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.local_path_provisioner : Deploy Helm chart] **********",
                                "Wednesday 20 May 2026  19:46:14 +0000 (0:00:00.512)       0:02:53.392 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:46:15 +0000 (0:00:01.962)       0:02:55.355 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Collect \"ceph mon dump\" output from a monitor] ***",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.033)       0:02:55.388 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Generate fact with Ceph FSID] *********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.036)       0:02:55.424 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Generate fact with list of Ceph monitors] ***",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.032)       0:02:55.456 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Create Ceph pool] *********************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.028)       0:02:55.485 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Create user client.kube] **************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.043)       0:02:55.528 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Retrieve keyring for client.kube] *****",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.048)       0:02:55.577 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Store keyring inside fact] ************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.031)       0:02:55.609 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ceph_csi_rbd : Deploy Helm chart] ********************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.026)       0:02:55.636 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.powerstore_csi : Clone PowerStore CSI from GitHub] ***",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.034)       0:02:55.670 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.powerstore_csi : Create Secret] **********************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.700 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.powerstore_csi : Create StorageClass] ****************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.027)       0:02:55.728 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.powerstore_csi : Deploy Helm chart] ******************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.031)       0:02:55.760 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.multipathd : Add backports PPA] **********************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.033)       0:02:55.794 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.multipathd : Install the multipathd package] *********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.824 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.multipathd : Install the configuration file] *********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.855 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Detect if InitiatorName is set] ***********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.885 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Generate a new InitiatorName] *************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.032)       0:02:55.917 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Write the new InitiatorName] **************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:55.948 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Create namespace] *************************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.025)       0:02:55.974 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Install Portworx] *************************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.029)       0:02:56.003 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Wait till the CRDs are created] ***********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.028)       0:02:56.031 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.portworx : Create Portworx Storage Cluster] **********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.036)       0:02:56.068 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.storpool_csi : Deploy CSI RBAC] **********************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.035)       0:02:56.104 *********",
                                "skipping: [controller] => (item={'name': 'controllerplugin'})",
                                "skipping: [controller] => (item={'name': 'nodeplugin'})",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.storpool_csi : Deploy CSI] ***************************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.032)       0:02:56.137 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.storpool_csi : Create StorageClass] ******************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.029)       0:02:56.166 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ibm_block_csi_driver : Deploy CSI] *******************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.035)       0:02:56.201 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ibm_block_csi_driver : Create Secret] ****************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.030)       0:02:56.232 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ibm_block_csi_driver : Create StorageClass] **********",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.028)       0:02:56.261 *********",
                                "skipping: [controller]",
                                "",
                                "PLAY [Deploy minimal OpenStack services for Glance] ****************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:46:16 +0000 (0:00:00.065)       0:02:56.326 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Expose OS family for Atmosphere roles] ***********************************",
                                "Wednesday 20 May 2026  19:46:18 +0000 (0:00:01.243)       0:02:57.570 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Deploy Helm chart] *******************************************************",
                                "Wednesday 20 May 2026  19:46:18 +0000 (0:00:00.046)       0:02:57.617 *********",
                                "included: vexxhost.kubernetes.cert_manager for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:46:18 +0000 (0:00:00.053)       0:02:57.670 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:46:18 +0000 (0:00:00.039)       0:02:57.709 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cert_manager : Deploy Helm chart] ********************",
                                "Wednesday 20 May 2026  19:46:18 +0000 (0:00:00.538)       0:02:58.248 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.cluster_issuer : Create self-signed cluster issuer] ***",
                                "Wednesday 20 May 2026  19:46:36 +0000 (0:00:17.845)       0:03:16.093 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.cluster_issuer : Import tasks for ClusterIssuer type] ***",
                                "Wednesday 20 May 2026  19:46:37 +0000 (0:00:00.840)       0:03:16.934 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/atmosphere/roles/cluster_issuer/tasks/type/self-signed/main.yml for controller",
                                "",
                                "TASK [vexxhost.atmosphere.cluster_issuer : Create ClusterIssuer] ***************",
                                "Wednesday 20 May 2026  19:46:37 +0000 (0:00:00.044)       0:03:16.978 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.cluster_issuer : Wait till the secret is created] ****",
                                "Wednesday 20 May 2026  19:46:38 +0000 (0:00:00.877)       0:03:17.855 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.cluster_issuer : Copy CA certificate on host] ********",
                                "Wednesday 20 May 2026  19:46:39 +0000 (0:00:00.783)       0:03:18.639 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.cluster_issuer : Flush all handlers] *****************",
                                "Wednesday 20 May 2026  19:46:39 +0000 (0:00:00.618)       0:03:19.257 *********",
                                "",
                                "RUNNING HANDLER [vexxhost.atmosphere.cluster_issuer : Install openssl-perl package] ***",
                                "Wednesday 20 May 2026  19:46:39 +0000 (0:00:00.002)       0:03:19.260 *********",
                                "skipping: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.atmosphere.cluster_issuer : Update CA certificates] ***",
                                "Wednesday 20 May 2026  19:46:39 +0000 (0:00:00.038)       0:03:19.298 *********",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.atmosphere.cluster_issuer : Rehash CA certificates] ***",
                                "Wednesday 20 May 2026  19:46:42 +0000 (0:00:02.535)       0:03:21.834 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:46:52 +0000 (0:00:10.165)       0:03:32.000 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:46:52 +0000 (0:00:00.037)       0:03:32.038 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.ingress_nginx : Deploy Helm chart] *******************",
                                "Wednesday 20 May 2026  19:46:53 +0000 (0:00:00.567)       0:03:32.606 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:47:08 +0000 (0:00:14.839)       0:03:47.445 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:47:08 +0000 (0:00:00.037)       0:03:47.482 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq_cluster_operator : Install all CRDs] ********",
                                "Wednesday 20 May 2026  19:47:08 +0000 (0:00:00.535)       0:03:48.018 *********",
                                "ok: [controller] => (item=messaging-topology-operator)",
                                "ok: [controller] => (item=rabbitmq-cluster)",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq_cluster_operator : Deploy Helm chart] *******",
                                "Wednesday 20 May 2026  19:47:11 +0000 (0:00:03.115)       0:03:51.134 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:47:15 +0000 (0:00:03.643)       0:03:54.778 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:47:15 +0000 (0:00:00.036)       0:03:54.815 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster_operator : Install all CRDs] ***",
                                "Wednesday 20 May 2026  19:47:15 +0000 (0:00:00.500)       0:03:55.316 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster_operator : Deploy Helm chart] ***",
                                "Wednesday 20 May 2026  19:47:18 +0000 (0:00:02.672)       0:03:57.988 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Check if the Percona XtraDB cluster secret exists] ***",
                                "Wednesday 20 May 2026  19:47:21 +0000 (0:00:02.546)       0:04:00.535 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Create a secret] ************",
                                "Wednesday 20 May 2026  19:47:21 +0000 (0:00:00.764)       0:04:01.299 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Check if the Percona XtraDB cluster exists] ***",
                                "Wednesday 20 May 2026  19:47:22 +0000 (0:00:00.801)       0:04:02.101 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Get current status of the cluster] ***",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.838)       0:04:02.939 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Assert that the cluster is healthy before upgrade] ***",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.036)       0:04:02.976 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Stop PXC-operator] **********",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.039)       0:04:03.016 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Change the cluster Statefulset image to 8.0] ***",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.040)       0:04:03.057 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Wait until the cluster Statefulset rollout] ***",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.038)       0:04:03.095 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Update pxc cluster spec] ****",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.035)       0:04:03.131 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Start PXC-operator] *********",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.039)       0:04:03.171 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Apply Percona XtraDB cluster] ***",
                                "Wednesday 20 May 2026  19:47:23 +0000 (0:00:00.035)       0:04:03.206 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.percona_xtradb_cluster : Create percona haproxy metric service] ***",
                                "Wednesday 20 May 2026  19:49:30 +0000 (0:02:06.339)       0:06:09.545 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***",
                                "Wednesday 20 May 2026  19:49:30 +0000 (0:00:00.807)       0:06:10.353 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create RabbitMQ cluster] *************************************************",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.059)       0:06:10.412 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.029)       0:06:10.442 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.036)       0:06:10.478 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.042)       0:06:10.520 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.033)       0:06:10.553 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.029)       0:06:10.583 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.037)       0:06:10.621 *********",
                                "ok: [controller] => (item=oslo_cache)",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.052)       0:06:10.673 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.046)       0:06:10.719 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.037)       0:06:10.757 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.memcached : Deploy Helm chart] ***********************",
                                "Wednesday 20 May 2026  19:49:31 +0000 (0:00:00.541)       0:06:11.299 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.memcached : Apply manifests for monitoring] **********",
                                "Wednesday 20 May 2026  19:49:33 +0000 (0:00:01.511)       0:06:12.811 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***",
                                "Wednesday 20 May 2026  19:49:34 +0000 (0:00:00.799)       0:06:13.610 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [Create RabbitMQ cluster] *************************************************",
                                "Wednesday 20 May 2026  19:49:34 +0000 (0:00:00.041)       0:06:13.652 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***",
                                "Wednesday 20 May 2026  19:49:34 +0000 (0:00:00.033)       0:06:13.685 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***",
                                "Wednesday 20 May 2026  19:49:34 +0000 (0:00:00.035)       0:06:13.720 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***",
                                "Wednesday 20 May 2026  19:49:34 +0000 (0:00:00.036)       0:06:13.756 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***",
                                "Wednesday 20 May 2026  19:49:35 +0000 (0:00:00.837)       0:06:14.594 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:49:35 +0000 (0:00:00.043)       0:06:14.637 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:49:35 +0000 (0:00:00.032)       0:06:14.670 *********",
                                "ok: [controller] => (item=oslo_db)",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********",
                                "Wednesday 20 May 2026  19:49:35 +0000 (0:00:00.045)       0:06:14.716 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:49:35 +0000 (0:00:00.036)       0:06:14.752 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:49:35 +0000 (0:00:00.035)       0:06:14.787 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Get the Kuberentes service for Percona XtraDB Cluster] ***",
                                "Wednesday 20 May 2026  19:49:36 +0000 (0:00:00.661)       0:06:15.449 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Install MySQL python package] *************",
                                "Wednesday 20 May 2026  19:49:36 +0000 (0:00:00.809)       0:06:16.259 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Check MySQL ready] ************************",
                                "Wednesday 20 May 2026  19:49:38 +0000 (0:00:01.371)       0:06:17.630 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Create Keycloak database] *****************",
                                "Wednesday 20 May 2026  19:49:38 +0000 (0:00:00.459)       0:06:18.090 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Create a Keycloak user] *******************",
                                "Wednesday 20 May 2026  19:49:39 +0000 (0:00:00.493)       0:06:18.583 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Disable pxc strict mode] ******************",
                                "Wednesday 20 May 2026  19:49:39 +0000 (0:00:00.544)       0:06:19.128 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Deploy Helm chart] ************************",
                                "Wednesday 20 May 2026  19:49:40 +0000 (0:00:00.423)       0:06:19.551 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Wait until keycloak ready] ****************",
                                "Wednesday 20 May 2026  19:52:13 +0000 (0:02:33.630)       0:08:53.181 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create Keycloak Ingress] *************************************************",
                                "Wednesday 20 May 2026  19:52:14 +0000 (0:00:00.909)       0:08:54.090 *********",
                                "included: ingress for controller",
                                "",
                                "TASK [vexxhost.atmosphere.ingress : Create Ingress keycloak] *******************",
                                "Wednesday 20 May 2026  19:52:14 +0000 (0:00:00.045)       0:08:54.136 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keycloak : Enable pxc strict mode] *******************",
                                "Wednesday 20 May 2026  19:52:15 +0000 (0:00:00.981)       0:08:55.117 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstacksdk : Install openstacksdk] *****************",
                                "Wednesday 20 May 2026  19:52:16 +0000 (0:00:00.338)       0:08:55.456 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstacksdk : Create openstack config directory] ****",
                                "Wednesday 20 May 2026  19:52:17 +0000 (0:00:01.078)       0:08:56.534 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstacksdk : Generate cloud config file] ***********",
                                "Wednesday 20 May 2026  19:52:17 +0000 (0:00:00.259)       0:08:56.793 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***",
                                "Wednesday 20 May 2026  19:52:18 +0000 (0:00:00.607)       0:08:57.401 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create RabbitMQ cluster] *************************************************",
                                "Wednesday 20 May 2026  19:52:18 +0000 (0:00:00.066)       0:08:57.467 *********",
                                "included: rabbitmq for controller",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Verify state of current RabbitMQ cluster] ***",
                                "Wednesday 20 May 2026  19:52:18 +0000 (0:00:00.053)       0:08:57.521 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Print diff of RabbitMQ cluster spec] ******",
                                "Wednesday 20 May 2026  19:52:19 +0000 (0:00:00.849)       0:08:58.371 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Wait for confirmation of RabbitMQ cluster spec] ***",
                                "Wednesday 20 May 2026  19:52:19 +0000 (0:00:00.037)       0:08:58.409 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Enable all feature flags for upgrade] *****",
                                "Wednesday 20 May 2026  19:52:19 +0000 (0:00:00.041)       0:08:58.451 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Deploy cluster] ***************************",
                                "Wednesday 20 May 2026  19:52:19 +0000 (0:00:00.035)       0:08:58.486 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***",
                                "Wednesday 20 May 2026  19:52:50 +0000 (0:00:30.972)       0:09:29.458 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***",
                                "Wednesday 20 May 2026  19:52:50 +0000 (0:00:00.808)       0:09:30.267 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***",
                                "Wednesday 20 May 2026  19:52:50 +0000 (0:00:00.039)       0:09:30.307 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***",
                                "Wednesday 20 May 2026  19:52:50 +0000 (0:00:00.042)       0:09:30.349 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:52:51 +0000 (0:00:00.040)       0:09:30.389 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:52:51 +0000 (0:00:00.034)       0:09:30.424 *********",
                                "ok: [controller] => (item=oslo_db)",
                                "ok: [controller] => (item=oslo_cache)",
                                "ok: [controller] => (item=oslo_messaging)",
                                "ok: [controller] => (item=identity)",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********",
                                "Wednesday 20 May 2026  19:52:51 +0000 (0:00:00.069)       0:09:30.493 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:52:51 +0000 (0:00:00.041)       0:09:30.534 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:52:51 +0000 (0:00:00.036)       0:09:30.571 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create Keycloak realms] *******************",
                                "Wednesday 20 May 2026  19:52:51 +0000 (0:00:00.557)       0:09:31.129 *********",
                                "ok: [controller] => (item=None)",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Setup Keycloak Authentication Required Actions (MFA)] ***",
                                "Wednesday 20 May 2026  19:52:59 +0000 (0:00:07.660)       0:09:38.789 *********",
                                "ok: [controller] => (item=atmosphere)",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create ConfigMap with all OpenID connect configurations] ***",
                                "Wednesday 20 May 2026  19:53:00 +0000 (0:00:01.136)       0:09:39.926 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create Keycloak clients] ******************",
                                "Wednesday 20 May 2026  19:53:01 +0000 (0:00:01.030)       0:09:40.956 *********",
                                "changed: [controller] => (item=None)",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Assign realm-management roles to service account] ***",
                                "Wednesday 20 May 2026  19:53:03 +0000 (0:00:01.532)       0:09:42.489 *********",
                                "changed: [controller] => (item=None)",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Deploy Helm chart] ************************",
                                "Wednesday 20 May 2026  19:53:04 +0000 (0:00:01.761)       0:09:44.250 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Create Ingress] **********************************************************",
                                "Wednesday 20 May 2026  19:55:49 +0000 (0:02:44.878)       0:12:29.129 *********",
                                "included: openstack_helm_ingress for controller",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_ingress : Create certificate] *********",
                                "Wednesday 20 May 2026  19:55:49 +0000 (0:00:00.066)       0:12:29.196 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_ingress : Set fact with wildcard certificate] ***",
                                "Wednesday 20 May 2026  19:55:49 +0000 (0:00:00.046)       0:12:29.242 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_ingress : Add ClusterIssuer annotations] ***",
                                "Wednesday 20 May 2026  19:55:49 +0000 (0:00:00.043)       0:12:29.285 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create Ingress identity] *************************************************",
                                "Wednesday 20 May 2026  19:55:49 +0000 (0:00:00.064)       0:12:29.350 *********",
                                "included: ingress for controller",
                                "",
                                "TASK [vexxhost.atmosphere.ingress : Create Ingress identity] *******************",
                                "Wednesday 20 May 2026  19:55:50 +0000 (0:00:00.049)       0:12:29.400 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Validate if ingress is reachable] *********",
                                "Wednesday 20 May 2026  19:55:51 +0000 (0:00:01.006)       0:12:30.406 *********",
                                "FAILED - RETRYING: [controller]: Validate if ingress is reachable (120 retries left).",
                                "FAILED - RETRYING: [controller]: Validate if ingress is reachable (119 retries left).",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Wait until identity service ready] ********",
                                "Wednesday 20 May 2026  19:55:54 +0000 (0:00:03.386)       0:12:33.793 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create Keystone domains] ******************",
                                "Wednesday 20 May 2026  19:55:55 +0000 (0:00:00.837)       0:12:34.630 *********",
                                "ok: [controller] => (item=atmosphere)",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create Keystone identity providers] *******",
                                "Wednesday 20 May 2026  19:55:56 +0000 (0:00:01.170)       0:12:35.800 *********",
                                "changed: [controller] => (item=atmosphere)",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create Keystone federation mappings] ******",
                                "Wednesday 20 May 2026  19:55:57 +0000 (0:00:01.249)       0:12:37.049 *********",
                                "changed: [controller] => (item=atmosphere)",
                                "",
                                "TASK [vexxhost.atmosphere.keystone : Create Keystone federation protocols] *****",
                                "Wednesday 20 May 2026  19:55:58 +0000 (0:00:01.075)       0:12:38.125 *********",
                                "changed: [controller] => (item=atmosphere)",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Retrieve list of all the needed endpoints] ***",
                                "Wednesday 20 May 2026  19:55:59 +0000 (0:00:01.111)       0:12:39.236 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create RabbitMQ cluster] *************************************************",
                                "Wednesday 20 May 2026  19:55:59 +0000 (0:00:00.065)       0:12:39.301 *********",
                                "included: rabbitmq for controller",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Verify state of current RabbitMQ cluster] ***",
                                "Wednesday 20 May 2026  19:55:59 +0000 (0:00:00.049)       0:12:39.351 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Print diff of RabbitMQ cluster spec] ******",
                                "Wednesday 20 May 2026  19:56:00 +0000 (0:00:00.817)       0:12:40.169 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Wait for confirmation of RabbitMQ cluster spec] ***",
                                "Wednesday 20 May 2026  19:56:00 +0000 (0:00:00.040)       0:12:40.209 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Enable all feature flags for upgrade] *****",
                                "Wednesday 20 May 2026  19:56:00 +0000 (0:00:00.035)       0:12:40.244 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.rabbitmq : Deploy cluster] ***************************",
                                "Wednesday 20 May 2026  19:56:00 +0000 (0:00:00.036)       0:12:40.281 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab RabbitMQ cluster secret] ***",
                                "Wednesday 20 May 2026  19:56:31 +0000 (0:00:30.960)       0:13:11.242 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with RabbitMQ cluster credentials] ***",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.786)       0:13:12.029 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Grab Percona XtraDB cluster secret] ***",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.044)       0:13:12.073 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Cache fact with Percona XtraDB password] ***",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.039)       0:13:12.112 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Reset value for OpenStack_Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.040)       0:13:12.153 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Generate OpenStack-Helm endpoints] ***",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.038)       0:13:12.192 *********",
                                "ok: [controller] => (item=oslo_cache)",
                                "ok: [controller] => (item=oslo_messaging)",
                                "ok: [controller] => (item=image)",
                                "ok: [controller] => (item=identity)",
                                "ok: [controller] => (item=oslo_db)",
                                "ok: [controller] => (item=dashboard)",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_endpoints : Clean-up facts] ***********",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.095)       0:13:12.287 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Wednesday 20 May 2026  19:56:32 +0000 (0:00:00.044)       0:13:12.331 *********",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Wednesday 20 May 2026  19:56:33 +0000 (0:00:00.037)       0:13:12.369 *********",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.glance : Generate Helm values (storage)] *************",
                                "Wednesday 20 May 2026  19:56:33 +0000 (0:00:00.558)       0:13:12.928 *********",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.glance : Deploy Helm chart] **************************",
                                "Wednesday 20 May 2026  19:56:33 +0000 (0:00:00.255)       0:13:13.183 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Create Ingress] **********************************************************",
                                "Wednesday 20 May 2026  19:58:44 +0000 (0:02:10.392)       0:15:23.575 *********",
                                "included: openstack_helm_ingress for controller",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_ingress : Create certificate] *********",
                                "Wednesday 20 May 2026  19:58:44 +0000 (0:00:00.057)       0:15:23.633 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_ingress : Set fact with wildcard certificate] ***",
                                "Wednesday 20 May 2026  19:58:44 +0000 (0:00:00.040)       0:15:23.674 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.atmosphere.openstack_helm_ingress : Add ClusterIssuer annotations] ***",
                                "Wednesday 20 May 2026  19:58:44 +0000 (0:00:00.039)       0:15:23.714 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create Ingress image] ****************************************************",
                                "Wednesday 20 May 2026  19:58:44 +0000 (0:00:00.047)       0:15:23.762 *********",
                                "included: ingress for controller",
                                "",
                                "TASK [vexxhost.atmosphere.ingress : Create Ingress image] **********************",
                                "Wednesday 20 May 2026  19:58:44 +0000 (0:00:00.045)       0:15:23.807 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Create images] ***********************************************************",
                                "Wednesday 20 May 2026  19:58:45 +0000 (0:00:01.045)       0:15:24.853 *********",
                                "skipping: [controller]",
                                "",
                                "PLAY [Prepare local image source] **********************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:58:45 +0000 (0:00:00.041)       0:15:24.894 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Create image source directory] *******************************************",
                                "Wednesday 20 May 2026  19:58:47 +0000 (0:00:01.569)       0:15:26.464 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Create raw test image] ***************************************************",
                                "Wednesday 20 May 2026  19:58:47 +0000 (0:00:00.239)       0:15:26.704 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Write initial image ETag] ************************************************",
                                "Wednesday 20 May 2026  19:58:47 +0000 (0:00:00.268)       0:15:26.972 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Copy ETag-aware image server] ********************************************",
                                "Wednesday 20 May 2026  19:58:48 +0000 (0:00:00.552)       0:15:27.525 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Check if image source is already listening] ******************************",
                                "Wednesday 20 May 2026  19:58:48 +0000 (0:00:00.576)       0:15:28.101 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Start ETag-aware image server] *******************************************",
                                "Wednesday 20 May 2026  19:58:49 +0000 (0:00:00.432)       0:15:28.534 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Wait for image source to answer HEAD requests] ***************************",
                                "Wednesday 20 May 2026  19:58:49 +0000 (0:00:00.540)       0:15:29.075 *********",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=237  changed=104  unreachable=0    failed=0    skipped=96   rescued=0    ignored=2",
                                "",
                                "Wednesday 20 May 2026  19:58:50 +0000 (0:00:00.412)       0:15:29.488 *********",
                                "===============================================================================",
                                "vexxhost.atmosphere.keystone : Deploy Helm chart ---------------------- 164.88s",
                                "vexxhost.atmosphere.keycloak : Deploy Helm chart ---------------------- 153.63s",
                                "vexxhost.atmosphere.glance : Deploy Helm chart ------------------------ 130.39s",
                                "vexxhost.atmosphere.percona_xtradb_cluster : Apply Percona XtraDB cluster - 126.34s",
                                "vexxhost.atmosphere.rabbitmq : Deploy cluster -------------------------- 30.97s",
                                "vexxhost.atmosphere.rabbitmq : Deploy cluster -------------------------- 30.96s",
                                "vexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 30.17s",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 26.00s",
                                "vexxhost.kubernetes.cert_manager : Deploy Helm chart ------------------- 17.85s",
                                "vexxhost.atmosphere.ingress_nginx : Deploy Helm chart ------------------ 14.84s",
                                "Install Debian packages ------------------------------------------------ 11.99s",
                                "vexxhost.atmosphere.cluster_issuer : Rehash CA certificates ------------ 10.17s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 8.47s",
                                "vexxhost.atmosphere.keystone : Create Keycloak realms ------------------- 7.66s",
                                "Install Python packages used by the test -------------------------------- 7.21s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 6.79s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 4.57s",
                                "vexxhost.atmosphere.rabbitmq_cluster_operator : Deploy Helm chart ------- 3.64s",
                                "vexxhost.atmosphere.keystone : Validate if ingress is reachable --------- 3.39s",
                                "vexxhost.atmosphere.rabbitmq_cluster_operator : Install all CRDs -------- 3.12s",
                                "INFO     [glance-image > prepare] Executed: Successful",
                                "INFO     [glance-image > converge] Executing",
                                "",
                                "PLAY [Manage OpenStack Glance image] *******************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:58:51 +0000 (0:00:00.015)       0:00:00.015 *********",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***",
                                "Wednesday 20 May 2026  19:58:53 +0000 (0:00:02.668)       0:00:02.684 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture source ETag when available] *****",
                                "Wednesday 20 May 2026  19:58:54 +0000 (0:00:00.494)       0:00:03.179 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Check if image exists] ******************",
                                "Wednesday 20 May 2026  19:58:54 +0000 (0:00:00.030)       0:00:03.209 *********",
                                "FAILED - RETRYING: [controller]: Check if image exists (120 retries left).",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***",
                                "Wednesday 20 May 2026  19:58:57 +0000 (0:00:03.515)       0:00:06.724 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Decide whether image upload is required] ***",
                                "Wednesday 20 May 2026  19:58:57 +0000 (0:00:00.040)       0:00:06.765 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Generate temporary work directory] ******",
                                "Wednesday 20 May 2026  19:58:57 +0000 (0:00:00.040)       0:00:06.805 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Download image] *************************",
                                "Wednesday 20 May 2026  19:58:58 +0000 (0:00:00.305)       0:00:07.111 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Get image format] ***********************",
                                "Wednesday 20 May 2026  19:58:58 +0000 (0:00:00.462)       0:00:07.573 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Convert file to target disk format] *****",
                                "Wednesday 20 May 2026  19:58:58 +0000 (0:00:00.348)       0:00:07.921 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Wait until image service ready] *********",
                                "Wednesday 20 May 2026  19:58:59 +0000 (0:00:00.039)       0:00:07.961 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Compute pending image name] *************",
                                "Wednesday 20 May 2026  19:58:59 +0000 (0:00:00.993)       0:00:08.955 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Upload image into Glance] ***************",
                                "Wednesday 20 May 2026  19:59:00 +0000 (0:00:00.035)       0:00:08.990 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***",
                                "Wednesday 20 May 2026  19:59:02 +0000 (0:00:02.592)       0:00:11.583 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***",
                                "Wednesday 20 May 2026  19:59:02 +0000 (0:00:00.033)       0:00:11.616 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Remove work directory] ******************",
                                "Wednesday 20 May 2026  19:59:02 +0000 (0:00:00.028)       0:00:11.645 *********",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=13   changed=4    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0",
                                "",
                                "Wednesday 20 May 2026  19:59:03 +0000 (0:00:00.349)       0:00:11.995 *********",
                                "===============================================================================",
                                "atmosphere.common.glance_image : Check if image exists ------------------ 3.52s",
                                "Gathering Facts --------------------------------------------------------- 2.67s",
                                "atmosphere.common.glance_image : Upload image into Glance --------------- 2.59s",
                                "atmosphere.common.glance_image : Wait until image service ready --------- 0.99s",
                                "atmosphere.common.glance_image : Fetch source image metadata from URL --- 0.49s",
                                "atmosphere.common.glance_image : Download image ------------------------- 0.46s",
                                "atmosphere.common.glance_image : Remove work directory ------------------ 0.35s",
                                "atmosphere.common.glance_image : Get image format ----------------------- 0.35s",
                                "atmosphere.common.glance_image : Generate temporary work directory ------ 0.31s",
                                "atmosphere.common.glance_image : Decide whether image upload is required --- 0.04s",
                                "atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata --- 0.04s",
                                "atmosphere.common.glance_image : Convert file to target disk format ----- 0.04s",
                                "atmosphere.common.glance_image : Compute pending image name ------------- 0.04s",
                                "atmosphere.common.glance_image : Rename outdated image to preserve audit trail --- 0.03s",
                                "atmosphere.common.glance_image : Capture source ETag when available ----- 0.03s",
                                "atmosphere.common.glance_image : Promote newly uploaded image to canonical name --- 0.03s",
                                "INFO     [glance-image > converge] Executed: Successful",
                                "INFO     [glance-image > idempotence] Executing",
                                "",
                                "PLAY [Manage OpenStack Glance image] *******************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:59:03 +0000 (0:00:00.017)       0:00:00.017 *********",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***",
                                "Wednesday 20 May 2026  19:59:05 +0000 (0:00:01.858)       0:00:01.875 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture source ETag when available] *****",
                                "Wednesday 20 May 2026  19:59:06 +0000 (0:00:00.560)       0:00:02.436 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Check if image exists] ******************",
                                "Wednesday 20 May 2026  19:59:06 +0000 (0:00:00.038)       0:00:02.474 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:01.325)       0:00:03.800 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Decide whether image upload is required] ***",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.032)       0:00:03.832 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Generate temporary work directory] ******",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.044)       0:00:03.876 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Download image] *************************",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.028)       0:00:03.905 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Get image format] ***********************",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.026)       0:00:03.931 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Convert file to target disk format] *****",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:03.959 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Wait until image service ready] *********",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:03.987 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Compute pending image name] *************",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:04.014 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Upload image into Glance] ***************",
                                "Wednesday 20 May 2026  19:59:07 +0000 (0:00:00.027)       0:00:04.042 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***",
                                "Wednesday 20 May 2026  19:59:08 +0000 (0:00:00.032)       0:00:04.075 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***",
                                "Wednesday 20 May 2026  19:59:08 +0000 (0:00:00.031)       0:00:04.106 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Remove work directory] ******************",
                                "Wednesday 20 May 2026  19:59:08 +0000 (0:00:00.026)       0:00:04.133 *********",
                                "skipping: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=6    changed=0    unreachable=0    failed=0    skipped=10   rescued=0    ignored=0",
                                "",
                                "Wednesday 20 May 2026  19:59:08 +0000 (0:00:00.029)       0:00:04.162 *********",
                                "===============================================================================",
                                "Gathering Facts --------------------------------------------------------- 1.86s",
                                "atmosphere.common.glance_image : Check if image exists ------------------ 1.33s",
                                "atmosphere.common.glance_image : Fetch source image metadata from URL --- 0.56s",
                                "atmosphere.common.glance_image : Decide whether image upload is required --- 0.04s",
                                "atmosphere.common.glance_image : Capture source ETag when available ----- 0.04s",
                                "atmosphere.common.glance_image : Upload image into Glance --------------- 0.03s",
                                "atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata --- 0.03s",
                                "atmosphere.common.glance_image : Rename outdated image to preserve audit trail --- 0.03s",
                                "atmosphere.common.glance_image : Remove work directory ------------------ 0.03s",
                                "atmosphere.common.glance_image : Generate temporary work directory ------ 0.03s",
                                "atmosphere.common.glance_image : Convert file to target disk format ----- 0.03s",
                                "atmosphere.common.glance_image : Compute pending image name ------------- 0.03s",
                                "atmosphere.common.glance_image : Get image format ----------------------- 0.03s",
                                "atmosphere.common.glance_image : Wait until image service ready --------- 0.03s",
                                "atmosphere.common.glance_image : Promote newly uploaded image to canonical name --- 0.03s",
                                "atmosphere.common.glance_image : Download image ------------------------- 0.03s",
                                "INFO     [glance-image > idempotence] Executed: Successful",
                                "INFO     [glance-image > side_effect] Executing",
                                "WARNING  [glance-image > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [glance-image > verify] Executing",
                                "",
                                "PLAY [Verify Glance image lifecycle] *******************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Wednesday 20 May 2026  19:59:08 +0000 (0:00:00.007)       0:00:00.007 *********",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Get initial image] *******************************************************",
                                "Wednesday 20 May 2026  19:59:10 +0000 (0:00:01.874)       0:00:01.882 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Assert initial image properties] *****************************************",
                                "Wednesday 20 May 2026  19:59:12 +0000 (0:00:01.338)       0:00:03.221 *********",
                                "ok: [controller] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Run role again with unchanged ETag] **************************************",
                                "Wednesday 20 May 2026  19:59:12 +0000 (0:00:00.047)       0:00:03.268 *********",
                                "included: atmosphere.common.glance_image for controller",
                                "",
                                "TASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***",
                                "Wednesday 20 May 2026  19:59:12 +0000 (0:00:00.052)       0:00:03.320 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture source ETag when available] *****",
                                "Wednesday 20 May 2026  19:59:12 +0000 (0:00:00.539)       0:00:03.860 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Check if image exists] ******************",
                                "Wednesday 20 May 2026  19:59:12 +0000 (0:00:00.034)       0:00:03.895 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.943)       0:00:04.839 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Decide whether image upload is required] ***",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.043)       0:00:04.883 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Generate temporary work directory] ******",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.043)       0:00:04.926 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Download image] *************************",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.023)       0:00:04.950 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Get image format] ***********************",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.027)       0:00:04.977 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Convert file to target disk format] *****",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.027)       0:00:05.004 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Wait until image service ready] *********",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.030)       0:00:05.035 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Compute pending image name] *************",
                                "Wednesday 20 May 2026  19:59:13 +0000 (0:00:00.026)       0:00:05.062 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Upload image into Glance] ***************",
                                "Wednesday 20 May 2026  19:59:14 +0000 (0:00:00.026)       0:00:05.088 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***",
                                "Wednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.117 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***",
                                "Wednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.145 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Remove work directory] ******************",
                                "Wednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.174 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [Get image after unchanged ETag run] **************************************",
                                "Wednesday 20 May 2026  19:59:14 +0000 (0:00:00.028)       0:00:05.202 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Assert unchanged ETag does not re-upload] ********************************",
                                "Wednesday 20 May 2026  19:59:15 +0000 (0:00:00.924)       0:00:06.127 *********",
                                "ok: [controller] => {",
                                "    \"changed\": false,",
                                "    \"msg\": \"All assertions passed\"",
                                "}",
                                "",
                                "TASK [Change source ETag] ******************************************************",
                                "Wednesday 20 May 2026  19:59:15 +0000 (0:00:00.040)       0:00:06.167 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Run role again with changed ETag] ****************************************",
                                "Wednesday 20 May 2026  19:59:15 +0000 (0:00:00.813)       0:00:06.981 *********",
                                "included: atmosphere.common.glance_image for controller",
                                "",
                                "TASK [atmosphere.common.glance_image : Fetch source image metadata from URL] ***",
                                "Wednesday 20 May 2026  19:59:15 +0000 (0:00:00.053)       0:00:07.034 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture source ETag when available] *****",
                                "Wednesday 20 May 2026  19:59:16 +0000 (0:00:00.488)       0:00:07.523 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Check if image exists] ******************",
                                "Wednesday 20 May 2026  19:59:16 +0000 (0:00:00.044)       0:00:07.567 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Capture existing image and its Atmosphere metadata] ***",
                                "Wednesday 20 May 2026  19:59:17 +0000 (0:00:01.228)       0:00:08.796 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Decide whether image upload is required] ***",
                                "Wednesday 20 May 2026  19:59:17 +0000 (0:00:00.050)       0:00:08.847 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Generate temporary work directory] ******",
                                "Wednesday 20 May 2026  19:59:17 +0000 (0:00:00.050)       0:00:08.898 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Download image] *************************",
                                "Wednesday 20 May 2026  19:59:18 +0000 (0:00:00.326)       0:00:09.224 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Get image format] ***********************",
                                "Wednesday 20 May 2026  19:59:18 +0000 (0:00:00.485)       0:00:09.710 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Convert file to target disk format] *****",
                                "Wednesday 20 May 2026  19:59:18 +0000 (0:00:00.348)       0:00:10.058 *********",
                                "skipping: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Wait until image service ready] *********",
                                "Wednesday 20 May 2026  19:59:19 +0000 (0:00:00.034)       0:00:10.092 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Compute pending image name] *************",
                                "Wednesday 20 May 2026  19:59:20 +0000 (0:00:01.002)       0:00:11.095 *********",
                                "ok: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Upload image into Glance] ***************",
                                "Wednesday 20 May 2026  19:59:20 +0000 (0:00:00.050)       0:00:11.146 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Rename outdated image to preserve audit trail] ***",
                                "Wednesday 20 May 2026  19:59:21 +0000 (0:00:01.422)       0:00:12.568 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Promote newly uploaded image to canonical name] ***",
                                "Wednesday 20 May 2026  19:59:22 +0000 (0:00:01.068)       0:00:13.636 *********",
                                "changed: [controller]",
                                "",
                                "TASK [atmosphere.common.glance_image : Remove work directory] ******************",
                                "Wednesday 20 May 2026  19:59:23 +0000 (0:00:01.394)       0:00:15.031 *********",
                                "changed: [controller]",
                                "",
                                "TASK [Get canonical image after ETag update] ***********************************",
                                "Wednesday 20 May 2026  19:59:24 +0000 (0:00:00.347)       0:00:15.379 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Get obsolete image after ETag update] ************************************",
                                "Wednesday 20 May 2026  19:59:25 +0000 (0:00:00.899)       0:00:16.279 *********",
                                "ok: [controller]",
                                "",
                                "TASK [Assert image update behavior] ********************************************",
                                "Wednesday 20 May 2026  19:59:26 +0000 (0:00:00.937)       0:00:17.216 *********",
                                "fatal: [controller]: FAILED! => {",
                                "    \"assertion\": \"_obsolete_image.images | length == 1\",",
                                "    \"changed\": false,",
                                "    \"evaluated_to\": false,",
                                "    \"msg\": \"Assertion failed\"",
                                "}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=29   changed=7    unreachable=0    failed=1    skipped=11   rescued=0    ignored=0",
                                "",
                                "Wednesday 20 May 2026  19:59:26 +0000 (0:00:00.040)       0:00:17.257 *********",
                                "===============================================================================",
                                "Gathering Facts --------------------------------------------------------- 1.87s",
                                "atmosphere.common.glance_image : Upload image into Glance --------------- 1.42s",
                                "atmosphere.common.glance_image : Promote newly uploaded image to canonical name --- 1.39s",
                                "Get initial image ------------------------------------------------------- 1.34s",
                                "atmosphere.common.glance_image : Check if image exists ------------------ 1.23s",
                                "atmosphere.common.glance_image : Rename outdated image to preserve audit trail --- 1.07s",
                                "atmosphere.common.glance_image : Wait until image service ready --------- 1.00s",
                                "atmosphere.common.glance_image : Check if image exists ------------------ 0.94s",
                                "Get obsolete image after ETag update ------------------------------------ 0.94s",
                                "Get image after unchanged ETag run -------------------------------------- 0.92s",
                                "Get canonical image after ETag update ----------------------------------- 0.90s",
                                "Change source ETag ------------------------------------------------------ 0.81s",
                                "atmosphere.common.glance_image : Fetch source image metadata from URL --- 0.54s",
                                "atmosphere.common.glance_image : Fetch source image metadata from URL --- 0.49s",
                                "atmosphere.common.glance_image : Download image ------------------------- 0.49s",
                                "atmosphere.common.glance_image : Get image format ----------------------- 0.35s",
                                "atmosphere.common.glance_image : Remove work directory ------------------ 0.35s",
                                "atmosphere.common.glance_image : Generate temporary work directory ------ 0.33s",
                                "Run role again with changed ETag ---------------------------------------- 0.05s",
                                "Run role again with unchanged ETag -------------------------------------- 0.05s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/verify.yml",
                                "ERROR    [glance-image > verify] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.z7Jo.glance-image/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere.common/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/glance-image/verify.yml"
                            ],
                            "zuul_log_id": "0242ac17-0010-604b-a6d7-000000000006-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:26.488731Z",
                            "start": "2026-05-20T19:42:45.872726Z"
                        },
                        "id": "0242ac17-0010-604b-a6d7-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-05-20T19:59:30.339854Z",
                    "start": "2026-05-20T19:59:27.190335Z"
                },
                "id": "0242ac17-0010-b271-2e41-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b271-2e41-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:27.247547Z",
                            "start": "2026-05-20T19:59:27.202215Z"
                        },
                        "id": "0242ac17-0010-b271-2e41-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b271-2e41-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:27.306759Z",
                            "start": "2026-05-20T19:59:27.258876Z"
                        },
                        "id": "0242ac17-0010-b271-2e41-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b271-2e41-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:28.110701Z",
                            "start": "2026-05-20T19:59:27.311629Z"
                        },
                        "id": "0242ac17-0010-b271-2e41-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": false,
                                    "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.49:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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.49:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "stdout_lines": [],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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.49:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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.49:/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/b219deae56f147539b992af188638d2e/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.49:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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.49:/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/b219deae56f147539b992af188638d2e/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b271-2e41-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:29.692675Z",
                            "start": "2026-05-20T19:59:28.121170Z"
                        },
                        "id": "0242ac17-0010-b271-2e41-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/artifacts/* /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007678",
                                    "end": "2026-05-20 19:59:30.070322",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/artifacts/* /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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-05-20 19:59:30.062644",
                                    "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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/docs/* /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.008242",
                                    "end": "2026-05-20 19:59:30.299015",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/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/b219deae56f147539b992af188638d2e/work/docs/* /var/lib/zuul/builds/b219deae56f147539b992af188638d2e/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-05-20 19:59:30.290773",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b271-2e41-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:30.339854Z",
                            "start": "2026-05-20T19:59:29.706171Z"
                        },
                        "id": "0242ac17-0010-b271-2e41-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-05-20T19:59:30.840729Z",
                    "start": "2026-05-20T19:59:30.351391Z"
                },
                "id": "0242ac17-0010-b271-2e41-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDeYhew9pgmakV0tuh+v9VoilNRzDt0nzN8wNfV8hp+gKG6M2C+RmdY7kN+1figsJ1c+daSvwUp4qqrdu1HidLrzDZc4L7ABgVl7ciBTIesYzALAqCHubRitnrI4NPicYNVK6xzGCDrO7ihFsSa7NrYRsoovbypgXQenUcjXKUtv9naWYXVtj73Ss3UB6u1QaEpULnuA41g3l8dosjYWK5tos5yxd/xXlYeAml3b2M+2hwB80xhuJCwseeXy4QxEw85zY8bl8LoF90BVqi826ZBB4YhPGMVRpuR2qzLPT2L7Xjk7KX9vlymdW4L+K7FRAwVHbjg+dnKooxus2NAb+WuXjRlRNv+LHkhPQSkcEeUSdweUTCa/G3nQVqTnVV4N9/LmmUQfyz3GgW9zPBb/OM1dTTaXdIk+EGf0ljYM3ksT1mR6htsxJBLpZAyZ/q71fPr6j3djH1iOzUda8nqR1EuS4+te3VBCjzsEbmiLN4LlQFSjrl1ejhhOiR2hIkmrqU= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDeYhew9pgmakV0tuh+v9VoilNRzDt0nzN8wNfV8hp+gKG6M2C+RmdY7kN+1figsJ1c+daSvwUp4qqrdu1HidLrzDZc4L7ABgVl7ciBTIesYzALAqCHubRitnrI4NPicYNVK6xzGCDrO7ihFsSa7NrYRsoovbypgXQenUcjXKUtv9naWYXVtj73Ss3UB6u1QaEpULnuA41g3l8dosjYWK5tos5yxd/xXlYeAml3b2M+2hwB80xhuJCwseeXy4QxEw85zY8bl8LoF90BVqi826ZBB4YhPGMVRpuR2qzLPT2L7Xjk7KX9vlymdW4L+K7FRAwVHbjg+dnKooxus2NAb+WuXjRlRNv+LHkhPQSkcEeUSdweUTCa/G3nQVqTnVV4N9/LmmUQfyz3GgW9zPBb/OM1dTTaXdIk+EGf0ljYM3ksT1mR6htsxJBLpZAyZ/q71fPr6j3djH1iOzUda8nqR1EuS4+te3VBCjzsEbmiLN4LlQFSjrl1ejhhOiR2hIkmrqU= 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-b271-2e41-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/b219deae56f147539b992af188638d2e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-05-20T19:59:30.840729Z",
                            "start": "2026-05-20T19:59:30.358156Z"
                        },
                        "id": "0242ac17-0010-b271-2e41-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
