[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:48:45.660941Z",
                    "start": "2026-10-15T15:48:43.030537Z"
                },
                "id": "0242ac17-0010-4bf8-d46b-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-10-15",
                                    "day": "15",
                                    "epoch": "1792079323",
                                    "epoch_int": "1792079323",
                                    "hour": "15",
                                    "iso8601": "2026-10-15T15:48:43Z",
                                    "iso8601_basic": "20261015T154843684908",
                                    "iso8601_basic_short": "20261015T154843",
                                    "iso8601_micro": "2026-10-15T15:48:43.684908Z",
                                    "minute": "48",
                                    "month": "10",
                                    "second": "43",
                                    "time": "15:48:43",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "41",
                                    "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/2fa9cf279d3f4410ae34f86f8e206bef/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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": "36837",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-W0eT14xv84OQ/agent.36836",
                                    "TMP": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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": 3.419921875,
                                    "1m": 2.83056640625,
                                    "5m": 3.4599609375
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 7048,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 12407,
                                        "used": 19683
                                    },
                                    "real": {
                                        "free": 7048,
                                        "total": 32090,
                                        "used": 25042
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 26064747,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 237875970,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 23554016,
                                        "inode_total": 67108864,
                                        "inode_used": 43554848,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 106761203712,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8532667,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32068913,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16628763,
                                        "inode_total": 20643840,
                                        "inode_used": 4015077,
                                        "mount": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34949804032,
                                        "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": 55742776,
                                "ansible_user_dir": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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-10-15T15:48:44.017958Z",
                            "start": "2026-10-15T15:48:43.037942Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:44.048677Z",
                            "start": "2026-10-15T15:48:44.025353Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "2fa/oss/2fa9cf279d3f4410ae34f86f8e206bef"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:44.099896Z",
                            "start": "2026-10-15T15:48:44.068061Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-secretgen-controller\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere.common/pull/99\nEvent ID: 3389fff0-c8af-11f1-9dd0-da457d2edd2e\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:44.147797Z",
                            "start": "2026-10-15T15:48:44.108836Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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: np0000195846\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.38\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:44.260157Z",
                            "start": "2026-10-15T15:48:44.150610Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:44.694025Z",
                            "start": "2026-10-15T15:48:44.267586Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "dd1d8782290b9cab01d66f39aec0334ab94ea96f",
                            "dest": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "dd1d8782290b9cab01d66f39aec0334ab94ea96f",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/.ansible/tmp/ansible-tmp-1792079324.7392786-84-189471817982571/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "0f230afb8f763971b3d3aa2c869ad289",
                            "mode": "0644",
                            "owner": "root",
                            "size": 349919,
                            "src": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/.ansible/tmp/ansible-tmp-1792079324.7392786-84-189471817982571/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:45.660941Z",
                            "start": "2026-10-15T15:48:44.701111Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:48:56.778850Z",
                    "start": "2026-10-15T15:48:45.669130Z"
                },
                "id": "0242ac17-0010-4bf8-d46b-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/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:45.942410Z",
                            "start": "2026-10-15T15:48:45.681376Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:45.983037Z",
                            "start": "2026-10-15T15:48:45.950009Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.847254",
                            "end": "2026-10-15 15:48:47.268468",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_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-4bf8-d46b-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:48:46.421214",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa.pub\nThe key fingerprint is:\nSHA256:HZJ29vEBKfELxQva7XGL7lY9xeiMajNGPF4R1JiiiYI zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|          .++=   |\n|         .+o*..  |\n|   .   .+===oo.o |\n|  E . ..+=.+=+o.o|\n|     .  S...oO.o.|\n|          + = =..|\n|         o = .  .|\n|          B o    |\n|         o =.    |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:HZJ29vEBKfELxQva7XGL7lY9xeiMajNGPF4R1JiiiYI zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|          .++=   |",
                                "|         .+o*..  |",
                                "|   .   .+===oo.o |",
                                "|  E . ..+=.+=+o.o|",
                                "|     .  S...oO.o.|",
                                "|          + = =..|",
                                "|         o = .  .|",
                                "|          B o    |",
                                "|         o =.    |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-4bf8-d46b-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:47.316674Z",
                            "start": "2026-10-15T15:48:46.007813Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:47.363713Z",
                            "start": "2026-10-15T15:48:47.328841Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:47.417414Z",
                            "start": "2026-10-15T15:48:47.392974Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCaQKPOJquNndtG0eIk1e9yp5SnScHATsfmKetM+mkmryc2SdbXiB7FrezoZV4emfNfbmjufl4hIsuARirDPuiTTtxmtGC4wguLskZ+L55SSWyevwScrKYtSBEf6VOnQuiqP+wqwGRZbM0RUMAwL6KrGeevQIhOtRupqKZq94wdWDOxIMmwypCSr8hQ0W63PLQoTT8vxXGUX3tKybqpUVnH6IatYL0/1Ete9qsc1rsrdOr0rQPFkpCNKmJ+W5jVi97E9p7dLXZT3nOqI9fow/p7TDFAhymY288I5Q4JDBUQoIB2eSE475XBg+RlpP9f2xKMzaRuW+pKHYN/AvMeWl5WvPgRnaYu+lFnvNqbWE1l/tX1L76Q0OS/7gPEcWuohZjDa/9a4af7P8/um/nZsJIPRK19PRms+flQD9S4MqOCxAQbpGT//6Ac4wC7soCjEmsnHrkxEpTft+Y0lpEH121ybp8NVaxfmvgxxKYnd6RUt6iPi8c+myO5ag88khaxoCc= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCaQKPOJquNndtG0eIk1e9yp5SnScHATsfmKetM+mkmryc2SdbXiB7FrezoZV4emfNfbmjufl4hIsuARirDPuiTTtxmtGC4wguLskZ+L55SSWyevwScrKYtSBEf6VOnQuiqP+wqwGRZbM0RUMAwL6KrGeevQIhOtRupqKZq94wdWDOxIMmwypCSr8hQ0W63PLQoTT8vxXGUX3tKybqpUVnH6IatYL0/1Ete9qsc1rsrdOr0rQPFkpCNKmJ+W5jVi97E9p7dLXZT3nOqI9fow/p7TDFAhymY288I5Q4JDBUQoIB2eSE475XBg+RlpP9f2xKMzaRuW+pKHYN/AvMeWl5WvPgRnaYu+lFnvNqbWE1l/tX1L76Q0OS/7gPEcWuohZjDa/9a4af7P8/um/nZsJIPRK19PRms+flQD9S4MqOCxAQbpGT//6Ac4wC7soCjEmsnHrkxEpTft+Y0lpEH121ybp8NVaxfmvgxxKYnd6RUt6iPi8c+myO5ag88khaxoCc= 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-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:48.004405Z",
                            "start": "2026-10-15T15:48:47.429405Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:48.256173Z",
                            "start": "2026-10-15T15:48:48.015244Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "ed16cd3aff0473b51661c27ca659e06d21101efc",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "2fa9cf279d3f4410ae34f86f8e206bef_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "ed16cd3aff0473b51661c27ca659e06d21101efc",
                                    "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-1792079328.318217-190-12585571613676/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "874a20121c2efe2f25385da2206b2fc2",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1792079328.318217-190-12585571613676/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:48.931020Z",
                            "start": "2026-10-15T15:48:48.268275Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "26c8168501c281a5554d550224b1b25b5d84b6ea",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "2fa9cf279d3f4410ae34f86f8e206bef_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "26c8168501c281a5554d550224b1b25b5d84b6ea",
                                    "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-1792079328.9838269-200-234987446299567/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "de1e37193b290d0c486842fe2d07f9f8",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1792079328.9838269-200-234987446299567/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:49.550814Z",
                            "start": "2026-10-15T15:48:48.939320Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:49.582291Z",
                            "start": "2026-10-15T15:48:49.557612Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:49.963082Z",
                            "start": "2026-10-15T15:48:49.591092Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa"
                            ],
                            "delta": "0:00:00.017533",
                            "end": "2026-10-15 15:48:50.256647",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_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-4bf8-d46b-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:48:50.239114",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/2fa9cf279d3f4410ae34f86f8e206bef_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-4bf8-d46b-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:50.301239Z",
                            "start": "2026-10-15T15:48:49.992111Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:50.665826Z",
                            "start": "2026-10-15T15:48:50.307984Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:50.701788Z",
                            "start": "2026-10-15T15:48:50.676062Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:51.079932Z",
                            "start": "2026-10-15T15:48:50.761019Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:55.394136Z",
                            "start": "2026-10-15T15:48:51.091018Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:56.106111Z",
                            "start": "2026-10-15T15:48:55.413541Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-4bf8-d46b-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:48:56.778850Z",
                            "start": "2026-10-15T15:48:56.117560Z"
                        },
                        "id": "0242ac17-0010-4bf8-d46b-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-10-15T15:49:08.234134Z",
                    "start": "2026-10-15T15:48:57.569638Z"
                },
                "id": "0242ac17-0010-7e6f-b012-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-1792079337.6328-5-1387049624934/uv-x86_64-unknown-linux-gnuazrlj_8o.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-1792079337.6328-5-1387049624934/uv-x86_64-unknown-linux-gnuazrlj_8o.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-7e6f-b012-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:00.432887Z",
                            "start": "2026-10-15T15:48:57.582203Z"
                        },
                        "id": "0242ac17-0010-7e6f-b012-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.013301",
                            "end": "2026-10-15 15:49:00.841720",
                            "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-7e6f-b012-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:49:00.828419",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-7e6f-b012-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-7e6f-b012-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:00.993006Z",
                            "start": "2026-10-15T15:49:00.472880Z"
                        },
                        "id": "0242ac17-0010-7e6f-b012-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.2"
                                },
                                {
                                    "changed": true,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "tag": "3.5.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "13.5.0"
                                },
                                {
                                    "changed": true,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "tag": "6.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "tag": "2.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.8"
                                },
                                {
                                    "changed": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "tag": "v3.4.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.2",
                                    "version": "2.2.2"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "spec": ">=2.2.3",
                                    "tag": "3.5.0",
                                    "version": "3.5.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": ">=4.5.0",
                                    "tag": "13.5.0",
                                    "version": "13.5.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.6.0",
                                    "version": "6.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "spec": ">=2.0.0",
                                    "tag": "2.6.0",
                                    "version": "2.6.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.8",
                                    "version": "1.6.8"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "spec": ">=2.5.0",
                                    "tag": "v3.4.0",
                                    "version": "3.4.0"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "99",
                                            "change_message": "chore(deps): update dependency metal3-io/baremetal-operator to v0.14.2\n\n> [!NOTE]\n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [metal3-io/baremetal-operator](https://redirect.github.com/metal3-io/baremetal-operator) | minor | `0.10.3` \u2192 `0.14.2` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>metal3-io/baremetal-operator</summary>\n\n### [`v0.14.2`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.14.2)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.14.1...v0.14.2)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.14.1\n\n#### :bug: Bug Fixes\n\n- Set image_type in Ironic to avoid an unnecessary HEAD call ([#&#8203;3633](https://redirect.github.com/metal3-io/baremetal-operator/issues/3633))\n\n#### :seedling: Others\n\n- Bump Go to 1.26.9, osv-scanner to v2.6.0 and go group dependencies ([#&#8203;3723](https://redirect.github.com/metal3-io/baremetal-operator/issues/3723))\n- Bump the kubernetes group across 3 directories with 5 updates ([#&#8203;3680](https://redirect.github.com/metal3-io/baremetal-operator/issues/3680))\n- Bump the capi group across 3 directories with 2 updates ([#&#8203;3714](https://redirect.github.com/metal3-io/baremetal-operator/issues/3714))\n- Bump the kustomize group across 2 directories with 3 updates ([#&#8203;3701](https://redirect.github.com/metal3-io/baremetal-operator/issues/3701))\n- Bump gophercloud to v2.15.0 and test int64 BIOS bounds ([#&#8203;3689](https://redirect.github.com/metal3-io/baremetal-operator/issues/3689))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.7.1 to 3.7.2 ([#&#8203;3681](https://redirect.github.com/metal3-io/baremetal-operator/issues/3681))\n- Remove pr-verifier Github action workflow ([#&#8203;3664](https://redirect.github.com/metal3-io/baremetal-operator/issues/3664))\n- Remove unit GHA workflow in favor of Prow test ([#&#8203;3640](https://redirect.github.com/metal3-io/baremetal-operator/issues/3640))\n- Bump cert-manager from 1.20.3 to 1.20.4 in /test ([#&#8203;3659](https://redirect.github.com/metal3-io/baremetal-operator/issues/3659))\n- Run zizmor for release branch PRs ([#&#8203;3675](https://redirect.github.com/metal3-io/baremetal-operator/issues/3675))\n\nThe image for this release is: v0.14.2\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.14.1`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.14.1)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.14.0-rc.0...v0.14.1)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.14.0\n\n#### :seedling: Others\n\n- Bump github.com/onsi/ginkgo/v2 to 2.32.2 ([#&#8203;3658](https://redirect.github.com/metal3-io/baremetal-operator/issues/3658))\n- Bump github.com/onsi/ginkgo/v2 from 2.32.1 to 2.32.2 in /test ([#&#8203;3660](https://redirect.github.com/metal3-io/baremetal-operator/issues/3660))\n- Bump Opentelemetry otel to 1.45.0 ([#&#8203;3654](https://redirect.github.com/metal3-io/baremetal-operator/issues/3654))\n- Bump CAPI to 1.14.2 ([#&#8203;3637](https://redirect.github.com/metal3-io/baremetal-operator/issues/3637))\n- Avoid Nordix Artifactory ([#&#8203;3649](https://redirect.github.com/metal3-io/baremetal-operator/issues/3649))\n- Remove 0.11 config, add 0.14 configs, pin Ironic ([#&#8203;3619](https://redirect.github.com/metal3-io/baremetal-operator/issues/3619))\n- bump grpc to 1.83.2 ([#&#8203;3624](https://redirect.github.com/metal3-io/baremetal-operator/issues/3624))\n- Bump the kubernetes group to 0.36.4 ([#&#8203;3605](https://redirect.github.com/metal3-io/baremetal-operator/issues/3605))\n- Add yamllint hack script for Prow migration ([#&#8203;3584](https://redirect.github.com/metal3-io/baremetal-operator/issues/3584))\n\nThe image for this release is: v0.14.1\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.14.0`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.14.0)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.6...v0.14.0-rc.0)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.0\n\n#### :warning: Breaking Changes\n\n- Deprecate BMH Taints field ([#&#8203;3465](https://redirect.github.com/metal3-io/baremetal-operator/issues/3465))\n- Provisioner: drop the separate TryInit call ([#&#8203;3327](https://redirect.github.com/metal3-io/baremetal-operator/issues/3327))\n\n#### :sparkles: New Features\n\n- Add fast Redfish-based inspection mode ([#&#8203;3482](https://redirect.github.com/metal3-io/baremetal-operator/issues/3482))\n- Add provisioning retry limit to prevent infinite loops ([#&#8203;3468](https://redirect.github.com/metal3-io/baremetal-operator/issues/3468))\n- Add webhooks to validate URLs ([#&#8203;3333](https://redirect.github.com/metal3-io/baremetal-operator/issues/3333))\n- Implementation of the HostClaim controller ([#&#8203;3406](https://redirect.github.com/metal3-io/baremetal-operator/issues/3406))\n- Add BMH and HNA types and cross resource validation ([#&#8203;3338](https://redirect.github.com/metal3-io/baremetal-operator/issues/3338))\n- Add TLS curve preferences support ([#&#8203;3423](https://redirect.github.com/metal3-io/baremetal-operator/issues/3423))\n- Implement structured logging pattern from CAPM3 ([#&#8203;2943](https://redirect.github.com/metal3-io/baremetal-operator/issues/2943))\n- Cache Ironic client and its status across reconciliations ([#&#8203;3343](https://redirect.github.com/metal3-io/baremetal-operator/issues/3343))\n- Migrate to go-plugin system for provisioners ([#&#8203;3166](https://redirect.github.com/metal3-io/baremetal-operator/issues/3166))\n- Reduce and simplify requeue delays in the Ironic provisioner ([#&#8203;3302](https://redirect.github.com/metal3-io/baremetal-operator/issues/3302))\n- Add BareMetalSwitch CRD and controller for switch config generation ([#&#8203;3046](https://redirect.github.com/metal3-io/baremetal-operator/issues/3046))\n- Allow exiting the externally provisioned state ([#&#8203;3181](https://redirect.github.com/metal3-io/baremetal-operator/issues/3181))\n- Validation webhook for hostclaims ([#&#8203;3196](https://redirect.github.com/metal3-io/baremetal-operator/issues/3196))\n- Add container networking to vbmctl and add tests ([#&#8203;3241](https://redirect.github.com/metal3-io/baremetal-operator/issues/3241))\n- Add veth pair management to vbmctl ([#&#8203;3151](https://redirect.github.com/metal3-io/baremetal-operator/issues/3151))\n\n#### :bug: Bug Fixes\n\n- Add delete permission to hostupdatepolicies.metal3.io ([#&#8203;3521](https://redirect.github.com/metal3-io/baremetal-operator/issues/3521))\n- Fix credentials not persisted while waiting for PreprovisioningImage ([#&#8203;3443](https://redirect.github.com/metal3-io/baremetal-operator/issues/3443))\n- Make NeedsMAC semantics consistent across BMC drivers ([#&#8203;3382](https://redirect.github.com/metal3-io/baremetal-operator/issues/3382))\n- Fix OCI pull secret credential format sent to Ironic ([#&#8203;3441](https://redirect.github.com/metal3-io/baremetal-operator/issues/3441))\n- Fix common logging code and move to reusable location ([#&#8203;3392](https://redirect.github.com/metal3-io/baremetal-operator/issues/3392))\n- Fix flaky Go installation in e2e setup ([#&#8203;3396](https://redirect.github.com/metal3-io/baremetal-operator/issues/3396))\n- Clean-up temporary CA files when Ironic CR are used ([#&#8203;3358](https://redirect.github.com/metal3-io/baremetal-operator/issues/3358))\n- Add a timeout for Ironic endpoint validation ([#&#8203;3357](https://redirect.github.com/metal3-io/baremetal-operator/issues/3357))\n- Restore delete permission on secrets ([#&#8203;3310](https://redirect.github.com/metal3-io/baremetal-operator/issues/3310))\n- preserve phased-reboot annotations instead of deleting them on soft-reboot fallback ([#&#8203;3342](https://redirect.github.com/metal3-io/baremetal-operator/issues/3342))\n- Omit empty checksum from provisioning error message ([#&#8203;3372](https://redirect.github.com/metal3-io/baremetal-operator/issues/3372))\n- Fix webhook state guard status checks ([#&#8203;3311](https://redirect.github.com/metal3-io/baremetal-operator/issues/3311))\n- Add BMH finalizer on PreprovisioningImage ([#&#8203;3354](https://redirect.github.com/metal3-io/baremetal-operator/issues/3354))\n- Only create ports in stable provision states ([#&#8203;3344](https://redirect.github.com/metal3-io/baremetal-operator/issues/3344))\n- Move PreprovisioningImage controller back to public package ([#&#8203;3341](https://redirect.github.com/metal3-io/baremetal-operator/issues/3341))\n- Cache Ironic Node object for the duration of a reconcile ([#&#8203;3291](https://redirect.github.com/metal3-io/baremetal-operator/issues/3291))\n- Avoid calling getNode in GetFirmwareSettings ([#&#8203;3329](https://redirect.github.com/metal3-io/baremetal-operator/issues/3329))\n- Avoid calling getNode in GetFirmwareComponents ([#&#8203;3330](https://redirect.github.com/metal3-io/baremetal-operator/issues/3330))\n- Fix preprovisioning network Secret lifecycle during BMH deletion ([#&#8203;3265](https://redirect.github.com/metal3-io/baremetal-operator/issues/3265))\n- Include image URL and checksum in provisioning error message ([#&#8203;3298](https://redirect.github.com/metal3-io/baremetal-operator/issues/3298))\n- Fix network creation error check in vbmctl ([#&#8203;3312](https://redirect.github.com/metal3-io/baremetal-operator/issues/3312))\n- Correct webhook admissionReview version ([#&#8203;3279](https://redirect.github.com/metal3-io/baremetal-operator/issues/3279))\n- Fix reconciling HFS created before BMH and add e2e tests ([#&#8203;3246](https://redirect.github.com/metal3-io/baremetal-operator/issues/3246))\n\n#### :book: Documentation\n\n- remove duplicate \"the\" in e2e README ([#&#8203;3278](https://redirect.github.com/metal3-io/baremetal-operator/issues/3278))\n- Add release 0.13 test triggers to README ([#&#8203;3218](https://redirect.github.com/metal3-io/baremetal-operator/issues/3218))\n- Consolidate Metal3 Contributing guide in community repo ([#&#8203;2894](https://redirect.github.com/metal3-io/baremetal-operator/issues/2894))\n\n#### :seedling: Others\n\n- Bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 in /test ([#&#8203;3610](https://redirect.github.com/metal3-io/baremetal-operator/issues/3610))\n- Bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 ([#&#8203;3609](https://redirect.github.com/metal3-io/baremetal-operator/issues/3609))\n- Bump sigs.k8s.io/cluster-api/test from 1.14.0 to 1.14.1 in /hack/tools in the capi group across 1 directory ([#&#8203;3607](https://redirect.github.com/metal3-io/baremetal-operator/issues/3607))\n- Add [@&#8203;nuhakala](https://redirect.github.com/nuhakala) and [@&#8203;terror96](https://redirect.github.com/terror96) as reviewers ([#&#8203;3598](https://redirect.github.com/metal3-io/baremetal-operator/issues/3598))\n- Bump k8s to v0.36.3, controller-runtime v0.24.1 and related changes ([#&#8203;3597](https://redirect.github.com/metal3-io/baremetal-operator/issues/3597))\n- Bump CAPI to 1.14.1 ([#&#8203;3595](https://redirect.github.com/metal3-io/baremetal-operator/issues/3595))\n- Bump grpc to v1.83.1 ([#&#8203;3574](https://redirect.github.com/metal3-io/baremetal-operator/issues/3574))\n- Bump Go version to 1.26.6 ([#&#8203;3535](https://redirect.github.com/metal3-io/baremetal-operator/issues/3535))\n- Bumpi CAPI to 1.14.0, k8s.io to v0.36.3, and logr to v1.4.4 ([#&#8203;3509](https://redirect.github.com/metal3-io/baremetal-operator/issues/3509))\n- Add delete permission for secrets in e2e role ([#&#8203;3512](https://redirect.github.com/metal3-io/baremetal-operator/issues/3512))\n- Sync the checkout action version to v7.0.1 ([#&#8203;3502](https://redirect.github.com/metal3-io/baremetal-operator/issues/3502))\n- Add unit tests for getDiskType, getStorageDetails, getCPUDetails, getSystemVendorDetails ([#&#8203;3150](https://redirect.github.com/metal3-io/baremetal-operator/issues/3150))\n- Build vbmctl as a release artifact ([#&#8203;3493](https://redirect.github.com/metal3-io/baremetal-operator/issues/3493))\n- Bump github.com/moby/moby/client from 0.5.0 to 0.5.1 in /test ([#&#8203;3475](https://redirect.github.com/metal3-io/baremetal-operator/issues/3475))\n- Bump libvirt.org/go/libvirt from 1.12005.0 to 1.12006.0 in /test ([#&#8203;3497](https://redirect.github.com/metal3-io/baremetal-operator/issues/3497))\n- Require explicit GitHub token for release notes tool ([#&#8203;3425](https://redirect.github.com/metal3-io/baremetal-operator/issues/3425))\n- e2e: Add user data secrets to cleanup list ([#&#8203;3437](https://redirect.github.com/metal3-io/baremetal-operator/issues/3437))\n- E2E: Verify Ironic TLS and basic-auth ([#&#8203;3332](https://redirect.github.com/metal3-io/baremetal-operator/issues/3332))\n- e2e: fix a typo in the expected state ([#&#8203;3490](https://redirect.github.com/metal3-io/baremetal-operator/issues/3490))\n- 3 minor improvement for hardware switch management ([#&#8203;3442](https://redirect.github.com/metal3-io/baremetal-operator/issues/3442))\n- Bump github.com/prometheus/client_golang from 1.24.0 to 1.24.1 ([#&#8203;3473](https://redirect.github.com/metal3-io/baremetal-operator/issues/3473))\n- Harden hack scripts against WORKDIR volume mount injection ([#&#8203;3463](https://redirect.github.com/metal3-io/baremetal-operator/issues/3463))\n- Remove golangci-lint github actions in favor of prow one ([#&#8203;3481](https://redirect.github.com/metal3-io/baremetal-operator/issues/3481))\n- E2E: Remove confusing image overrides ([#&#8203;3458](https://redirect.github.com/metal3-io/baremetal-operator/issues/3458))\n- e2e: support and use IrSO 0.10, support Ironic 37.0 ([#&#8203;3466](https://redirect.github.com/metal3-io/baremetal-operator/issues/3466))\n- Bump go modules accross three directories ([#&#8203;3462](https://redirect.github.com/metal3-io/baremetal-operator/issues/3462))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.13 to 3.7.1 ([#&#8203;3418](https://redirect.github.com/metal3-io/baremetal-operator/issues/3418))\n- e2e: fall back to upstream images if artifactory is not available ([#&#8203;3452](https://redirect.github.com/metal3-io/baremetal-operator/issues/3452))\n- vbmctl: launch BMC emulator after network initialization ([#&#8203;3454](https://redirect.github.com/metal3-io/baremetal-operator/issues/3454))\n- e2e: disable cleaning before the test is over ([#&#8203;3456](https://redirect.github.com/metal3-io/baremetal-operator/issues/3456))\n- e2e: introduce a new tag \"ironic\" ([#&#8203;3439](https://redirect.github.com/metal3-io/baremetal-operator/issues/3439))\n- e2e tests - bios firmware upgrade ([#&#8203;3285](https://redirect.github.com/metal3-io/baremetal-operator/issues/3285))\n- e2e: test network data ([#&#8203;3408](https://redirect.github.com/metal3-io/baremetal-operator/issues/3408))\n- e2e: use --no-verbose with wget ([#&#8203;3433](https://redirect.github.com/metal3-io/baremetal-operator/issues/3433))\n- Add pierrecregut as a reviewer ([#&#8203;3413](https://redirect.github.com/metal3-io/baremetal-operator/issues/3413))\n- Switch generate.sh script to use ro mount ([#&#8203;3386](https://redirect.github.com/metal3-io/baremetal-operator/issues/3386))\n- Bump github.com/gophercloud/gophercloud/v2 from 2.12.0 to 2.13.0 in /test ([#&#8203;3402](https://redirect.github.com/metal3-io/baremetal-operator/issues/3402))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.9.0 to 0.10.0 in /test ([#&#8203;3400](https://redirect.github.com/metal3-io/baremetal-operator/issues/3400))\n- Bump github.com/gophercloud/gophercloud/v2 from 2.12.0 to 2.13.0 ([#&#8203;3397](https://redirect.github.com/metal3-io/baremetal-operator/issues/3397))\n- Bump github.com/cert-manager/cert-manager from 1.20.2 to 1.20.3 in /test ([#&#8203;3401](https://redirect.github.com/metal3-io/baremetal-operator/issues/3401))\n- e2e: ensure that Redfish emulator actually starts ([#&#8203;3393](https://redirect.github.com/metal3-io/baremetal-operator/issues/3393))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.9.0 to 0.10.0 ([#&#8203;3399](https://redirect.github.com/metal3-io/baremetal-operator/issues/3399))\n- e2e: retry reading /proc/cmdline ([#&#8203;3395](https://redirect.github.com/metal3-io/baremetal-operator/issues/3395))\n- Bump the github-actions group with 3 updates ([#&#8203;3390](https://redirect.github.com/metal3-io/baremetal-operator/issues/3390))\n- e2e: Split BMO ironic and bmo upgrade tests ([#&#8203;3281](https://redirect.github.com/metal3-io/baremetal-operator/issues/3281))\n- Fix missing target name in .PHONY declaration for mod ([#&#8203;3379](https://redirect.github.com/metal3-io/baremetal-operator/issues/3379))\n- Rename getSecretData() to getSecretDataWithFinalizer() ([#&#8203;3381](https://redirect.github.com/metal3-io/baremetal-operator/issues/3381))\n- Bump github.com/onsi/gomega from 1.42.0 to 1.42.1 in /test ([#&#8203;3385](https://redirect.github.com/metal3-io/baremetal-operator/issues/3385))\n- Bump github.com/onsi/gomega from 1.42.0 to 1.42.1 ([#&#8203;3384](https://redirect.github.com/metal3-io/baremetal-operator/issues/3384))\n- vbmctl: Make VM template portable across distros ([#&#8203;3378](https://redirect.github.com/metal3-io/baremetal-operator/issues/3378))\n- Bump github.com/moby/moby/api from 1.54.2 to 1.55.0 in /test ([#&#8203;3369](https://redirect.github.com/metal3-io/baremetal-operator/issues/3369))\n- Remove mariadb-image from run_local_ironic.sh ([#&#8203;3360](https://redirect.github.com/metal3-io/baremetal-operator/issues/3360))\n- e2e: decouple systemrescue and cirros downloads ([#&#8203;3356](https://redirect.github.com/metal3-io/baremetal-operator/issues/3356))\n- Set cooldown days to 3 for dependabot ([#&#8203;3336](https://redirect.github.com/metal3-io/baremetal-operator/issues/3336))\n- fix dependabots build workflop step ([#&#8203;3366](https://redirect.github.com/metal3-io/baremetal-operator/issues/3366))\n- Use proper IPA cache address ([#&#8203;3361](https://redirect.github.com/metal3-io/baremetal-operator/issues/3361))\n- Safeguard against empty slice when fetching ports ([#&#8203;3355](https://redirect.github.com/metal3-io/baremetal-operator/issues/3355))\n- Bump golang.org/x/sys from 0.45.0 to 0.46.0 in /test ([#&#8203;3348](https://redirect.github.com/metal3-io/baremetal-operator/issues/3348))\n- Fix lint error ([#&#8203;3339](https://redirect.github.com/metal3-io/baremetal-operator/issues/3339))\n- e2e: fix breakage caused by hardcoded MAC address in hardwareDetails ([#&#8203;3337](https://redirect.github.com/metal3-io/baremetal-operator/issues/3337))\n- e2e: run inspection on virtual media without BootMACAddress ([#&#8203;3299](https://redirect.github.com/metal3-io/baremetal-operator/issues/3299))\n- Drive e2e setup via vbmctl config template ([#&#8203;3282](https://redirect.github.com/metal3-io/baremetal-operator/issues/3282))\n- e2e: wait a bit for /mnt/data to appear ([#&#8203;3328](https://redirect.github.com/metal3-io/baremetal-operator/issues/3328))\n- Split vbmctl main.go into separate files ([#&#8203;3280](https://redirect.github.com/metal3-io/baremetal-operator/issues/3280))\n- Remove unused Ironic overlays ([#&#8203;3326](https://redirect.github.com/metal3-io/baremetal-operator/issues/3326))\n- Bump sigs.k8s.io/kind from 0.31.0 to 0.32.0 in /test ([#&#8203;3322](https://redirect.github.com/metal3-io/baremetal-operator/issues/3322))\n- Return error msg in case of failure to read preprovisioningNetworkData ([#&#8203;3248](https://redirect.github.com/metal3-io/baremetal-operator/issues/3248))\n- e2e: servicing of externally provisioned hosts ([#&#8203;3288](https://redirect.github.com/metal3-io/baremetal-operator/issues/3288))\n- Add e2e test on PreprovisioningNetworkData ([#&#8203;3258](https://redirect.github.com/metal3-io/baremetal-operator/issues/3258))\n- e2e: reset BIOS settings in sushy-tools before HFS tests ([#&#8203;3300](https://redirect.github.com/metal3-io/baremetal-operator/issues/3300))\n- Use hard reboot in firmware settings test ([#&#8203;3293](https://redirect.github.com/metal3-io/baremetal-operator/issues/3293))\n- Trivial: fix duplicate BMH name in e2e tests ([#&#8203;3289](https://redirect.github.com/metal3-io/baremetal-operator/issues/3289))\n- Centralize BMH cleanup in AfterEach via Cleanup function ([#&#8203;3245](https://redirect.github.com/metal3-io/baremetal-operator/issues/3245))\n- Eliminate sushy-tools configuration file ([#&#8203;3264](https://redirect.github.com/metal3-io/baremetal-operator/issues/3264))\n- e2e: make sushy-tools image customizable ([#&#8203;3263](https://redirect.github.com/metal3-io/baremetal-operator/issues/3263))\n- Remove use of deprecated pointer package ([#&#8203;3269](https://redirect.github.com/metal3-io/baremetal-operator/issues/3269))\n- E2E: Verify IPA boot was managed by Ironic ([#&#8203;3243](https://redirect.github.com/metal3-io/baremetal-operator/issues/3243))\n- e2e: avoid non-string values in the HFS tests ([#&#8203;3262](https://redirect.github.com/metal3-io/baremetal-operator/issues/3262))\n- Add e2e tests for forced detachment ([#&#8203;3072](https://redirect.github.com/metal3-io/baremetal-operator/issues/3072))\n- Add overlays for BMO 0.13 and Ironic 35.0 ([#&#8203;3216](https://redirect.github.com/metal3-io/baremetal-operator/issues/3216))\n- Add periodic release workflow for 0.13 ([#&#8203;3215](https://redirect.github.com/metal3-io/baremetal-operator/issues/3215))\n- remove obsoleted release action ([#&#8203;3209](https://redirect.github.com/metal3-io/baremetal-operator/issues/3209))\n- Bump github.com/vishvananda/netlink from 1.3.0 to 1.3.1 in /test ([#&#8203;3230](https://redirect.github.com/metal3-io/baremetal-operator/issues/3230))\n- Update dependabot target branch to release-0.13 ([#&#8203;3217](https://redirect.github.com/metal3-io/baremetal-operator/issues/3217))\n- Add BMC emulator container management support to vbmctl ([#&#8203;3161](https://redirect.github.com/metal3-io/baremetal-operator/issues/3161))\n- Bump go.uber.org/zap from 1.27.1 to 1.28.0 ([#&#8203;3200](https://redirect.github.com/metal3-io/baremetal-operator/issues/3200))\n\n#### :recycle: Superseded or Reverted\n\n- [#&#8203;3345](https://redirect.github.com/metal3-io/baremetal-operator/issues/3345) [#&#8203;3251](https://redirect.github.com/metal3-io/baremetal-operator/issues/3251) [#&#8203;3252](https://redirect.github.com/metal3-io/baremetal-operator/issues/3252) [#&#8203;3198](https://redirect.github.com/metal3-io/baremetal-operator/issues/3198) [#&#8203;3374](https://redirect.github.com/metal3-io/baremetal-operator/issues/3374) [#&#8203;3427](https://redirect.github.com/metal3-io/baremetal-operator/issues/3427) [#&#8203;3457](https://redirect.github.com/metal3-io/baremetal-operator/issues/3457) [#&#8203;3415](https://redirect.github.com/metal3-io/baremetal-operator/issues/3415) [#&#8203;3222](https://redirect.github.com/metal3-io/baremetal-operator/issues/3222) [#&#8203;3349](https://redirect.github.com/metal3-io/baremetal-operator/issues/3349) [#&#8203;3277](https://redirect.github.com/metal3-io/baremetal-operator/issues/3277) [#&#8203;3237](https://redirect.github.com/metal3-io/baremetal-operator/issues/3237) [#&#8203;3347](https://redirect.github.com/metal3-io/baremetal-operator/issues/3347) [#&#8203;3274](https://redirect.github.com/metal3-io/baremetal-operator/issues/3274)\n  [#&#8203;3236](https://redirect.github.com/metal3-io/baremetal-operator/issues/3236) [#&#8203;3398](https://redirect.github.com/metal3-io/baremetal-operator/issues/3398) [#&#8203;3321](https://redirect.github.com/metal3-io/baremetal-operator/issues/3321) [#&#8203;3226](https://redirect.github.com/metal3-io/baremetal-operator/issues/3226) [#&#8203;3363](https://redirect.github.com/metal3-io/baremetal-operator/issues/3363) [#&#8203;3272](https://redirect.github.com/metal3-io/baremetal-operator/issues/3272) [#&#8203;3202](https://redirect.github.com/metal3-io/baremetal-operator/issues/3202) [#&#8203;3275](https://redirect.github.com/metal3-io/baremetal-operator/issues/3275) [#&#8203;3203](https://redirect.github.com/metal3-io/baremetal-operator/issues/3203) [#&#8203;3368](https://redirect.github.com/metal3-io/baremetal-operator/issues/3368) [#&#8203;3273](https://redirect.github.com/metal3-io/baremetal-operator/issues/3273) [#&#8203;3371](https://redirect.github.com/metal3-io/baremetal-operator/issues/3371) [#&#8203;3276](https://redirect.github.com/metal3-io/baremetal-operator/issues/3276) [#&#8203;3204](https://redirect.github.com/metal3-io/baremetal-operator/issues/3204)\n  [#&#8203;3446](https://redirect.github.com/metal3-io/baremetal-operator/issues/3446) [#&#8203;3201](https://redirect.github.com/metal3-io/baremetal-operator/issues/3201) [#&#8203;3205](https://redirect.github.com/metal3-io/baremetal-operator/issues/3205) [#&#8203;3428](https://redirect.github.com/metal3-io/baremetal-operator/issues/3428) [#&#8203;3229](https://redirect.github.com/metal3-io/baremetal-operator/issues/3229) [#&#8203;3370](https://redirect.github.com/metal3-io/baremetal-operator/issues/3370) [#&#8203;3319](https://redirect.github.com/metal3-io/baremetal-operator/issues/3319) [#&#8203;3419](https://redirect.github.com/metal3-io/baremetal-operator/issues/3419) [#&#8203;3421](https://redirect.github.com/metal3-io/baremetal-operator/issues/3421) [#&#8203;3451](https://redirect.github.com/metal3-io/baremetal-operator/issues/3451) [#&#8203;3444](https://redirect.github.com/metal3-io/baremetal-operator/issues/3444) [#&#8203;3383](https://redirect.github.com/metal3-io/baremetal-operator/issues/3383) [#&#8203;3364](https://redirect.github.com/metal3-io/baremetal-operator/issues/3364) [#&#8203;3250](https://redirect.github.com/metal3-io/baremetal-operator/issues/3250)\n  [#&#8203;3296](https://redirect.github.com/metal3-io/baremetal-operator/issues/3296) [#&#8203;3235](https://redirect.github.com/metal3-io/baremetal-operator/issues/3235) [#&#8203;3455](https://redirect.github.com/metal3-io/baremetal-operator/issues/3455)\n\nThe image for this release is: v0.14.0\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.6`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.6)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.5...v0.13.6)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.5\n\n#### :seedling: Others\n\n- Bump the capi group across 3 directories with 2 updates ([#&#8203;3716](https://redirect.github.com/metal3-io/baremetal-operator/issues/3716))\n- Configure zizmor for release-0.13 ([#&#8203;3642](https://redirect.github.com/metal3-io/baremetal-operator/issues/3642))\n- Remove golangci-lint gha in favor of Prow ([#&#8203;3651](https://redirect.github.com/metal3-io/baremetal-operator/issues/3651))\n- Bump the kubernetes group ([#&#8203;3682](https://redirect.github.com/metal3-io/baremetal-operator/issues/3682))\n- Remove pr-verifier GHA workflow ([#&#8203;3665](https://redirect.github.com/metal3-io/baremetal-operator/issues/3665))\n- Remove unit GHA workflow in favor of prow ([#&#8203;3641](https://redirect.github.com/metal3-io/baremetal-operator/issues/3641))\n- Bump github.com/cert-manager/cert-manager from 1.20.3 to 1.20.4 in /test ([#&#8203;3661](https://redirect.github.com/metal3-io/baremetal-operator/issues/3661))\n- Avoid Nordix Artifactory ([#&#8203;3652](https://redirect.github.com/metal3-io/baremetal-operator/issues/3652))\n\nThe image for this release is: v0.13.6\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.5`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.5)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.4...v0.13.5)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.4\n\n#### :seedling: Others\n\n- Bump the capi group across 3 directories with 2 updates ([#&#8203;3631](https://redirect.github.com/metal3-io/baremetal-operator/issues/3631))\n- Add yamllint hack script for Prow migration ([#&#8203;3543](https://redirect.github.com/metal3-io/baremetal-operator/issues/3543))\n- Bump grpc to 1.83.2 ([#&#8203;3623](https://redirect.github.com/metal3-io/baremetal-operator/issues/3623))\n- Add [@&#8203;nuhakala](https://redirect.github.com/nuhakala) and [@&#8203;terror96](https://redirect.github.com/terror96) as reviewers ([#&#8203;3599](https://redirect.github.com/metal3-io/baremetal-operator/issues/3599))\n\nThe image for this release is: v0.13.5\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.4`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.4)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.3...v0.13.4)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.3\n\n#### :seedling: Others\n\n- Bump grpc to v1.83.1 ([#&#8203;3573](https://redirect.github.com/metal3-io/baremetal-operator/issues/3573))\n\nThe image for this release is: v0.13.4\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.3`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.3)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.2...v0.13.3)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.2\n\n#### :bug: Bug Fixes\n\n- Add delete permission to hostupdatepolicies.metal3.io ([#&#8203;3522](https://redirect.github.com/metal3-io/baremetal-operator/issues/3522))\n\n#### :seedling: Others\n\n- Bump k8s.io/api from v0.35.7 to v0.35.8 ([#&#8203;3559](https://redirect.github.com/metal3-io/baremetal-operator/issues/3559))\n- Bump go version to 1.25.13 ([#&#8203;3533](https://redirect.github.com/metal3-io/baremetal-operator/issues/3533))\n- Add delete permission for secrets in e2e role ([#&#8203;3513](https://redirect.github.com/metal3-io/baremetal-operator/issues/3513))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.13 to 3.6.14 ([#&#8203;3476](https://redirect.github.com/metal3-io/baremetal-operator/issues/3476))\n- Bump checkout to v7 and remove inline zizmor comment ([#&#8203;3506](https://redirect.github.com/metal3-io/baremetal-operator/issues/3506))\n- Pin ironic version to 35.0 in default e2e overlay ([#&#8203;3464](https://redirect.github.com/metal3-io/baremetal-operator/issues/3464))\n- Bump github.com/go-logr/logr from 1.4.3 to 1.4.4 ([#&#8203;3448](https://redirect.github.com/metal3-io/baremetal-operator/issues/3448))\n\n#### :recycle: Superseded or Reverted\n\n- ([#&#8203;3557](https://redirect.github.com/metal3-io/baremetal-operator/issues/3557)), ([#&#8203;3552](https://redirect.github.com/metal3-io/baremetal-operator/issues/3552)), ([#&#8203;3519](https://redirect.github.com/metal3-io/baremetal-operator/issues/3519)), ([#&#8203;3447](https://redirect.github.com/metal3-io/baremetal-operator/issues/3447))\n\nThe image for this release is: v0.13.3\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.2`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.2)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.1...v0.13.2)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.1\n\n#### Bug Fixes\n\n- Restore delete permission on secrets ([#&#8203;3389](https://redirect.github.com/metal3-io/baremetal-operator/issues/3389))\n\n#### Others\n\n- Bump the capi group (to v1.13.4) across 3 directories with 2 updates ([#&#8203;3429](https://redirect.github.com/metal3-io/baremetal-operator/issues/3429))\n- Bump Go version to 1.25.12 ([#&#8203;3416](https://redirect.github.com/metal3-io/baremetal-operator/issues/3416))\n- Bump github.com/cert-manager/cert-manager from 1.20.2 to 1.20.3 in /test ([#&#8203;3404](https://redirect.github.com/metal3-io/baremetal-operator/issues/3404))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.12 to 3.6.13 ([#&#8203;3403](https://redirect.github.com/metal3-io/baremetal-operator/issues/3403))\n- Bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 in the github-actions group ([#&#8203;3391](https://redirect.github.com/metal3-io/baremetal-operator/issues/3391))\n\nThe image for this release is: v0.13.2\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.1`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.1)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.0-rc.0...v0.13.1)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.0\n\n#### :bug: Bug Fixes\n\n- Fix reconciling HFS created before BMH and add e2e tests ([#&#8203;3259](https://redirect.github.com/metal3-io/baremetal-operator/issues/3259))\n\n#### :seedling: Others\n\n- Bump cluster-api to v1.13.3 ([#&#8203;3376](https://redirect.github.com/metal3-io/baremetal-operator/issues/3376))\n- fix dependabots build workflop step ([#&#8203;3367](https://redirect.github.com/metal3-io/baremetal-operator/issues/3367))\n- Use proper IPA cache address ([#&#8203;3359](https://redirect.github.com/metal3-io/baremetal-operator/issues/3359))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.11 to 3.6.12 ([#&#8203;3323](https://redirect.github.com/metal3-io/baremetal-operator/issues/3323))\n- Bump x/net to v0.55.0 ([#&#8203;3320](https://redirect.github.com/metal3-io/baremetal-operator/issues/3320))\n- Bump Go version to 1.25.11 ([#&#8203;3315](https://redirect.github.com/metal3-io/baremetal-operator/issues/3315))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.1 to 0.8.2 in /test ([#&#8203;3295](https://redirect.github.com/metal3-io/baremetal-operator/issues/3295))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.1 to 0.8.2 ([#&#8203;3294](https://redirect.github.com/metal3-io/baremetal-operator/issues/3294))\n- Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.3 in /test ([#&#8203;3231](https://redirect.github.com/metal3-io/baremetal-operator/issues/3231))\n- Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.3 ([#&#8203;3228](https://redirect.github.com/metal3-io/baremetal-operator/issues/3228))\n- Bump the kubernetes group across 3 directories with 5 updates ([#&#8203;3351](https://redirect.github.com/metal3-io/baremetal-operator/issues/3351))\n- Fix e2e test to use irso v0.9 and ironic v35.0 ([#&#8203;3257](https://redirect.github.com/metal3-io/baremetal-operator/issues/3257))\n- Bump the github-actions group with 2 updates ([#&#8203;3297](https://redirect.github.com/metal3-io/baremetal-operator/issues/3297))\n- remove obsoleted release action ([#&#8203;3234](https://redirect.github.com/metal3-io/baremetal-operator/issues/3234))\n- Bump the capi group across 2 directories with 1 update ([#&#8203;3225](https://redirect.github.com/metal3-io/baremetal-operator/issues/3225))\n- Use hard reboot in firmware settings test ([#&#8203;3316](https://redirect.github.com/metal3-io/baremetal-operator/issues/3316))\n\n#### :recycle: Superseded or Reverted\n\n- [#&#8203;3254](https://redirect.github.com/metal3-io/baremetal-operator/issues/3254) [#&#8203;3227](https://redirect.github.com/metal3-io/baremetal-operator/issues/3227) [#&#8203;3240](https://redirect.github.com/metal3-io/baremetal-operator/issues/3240) [#&#8203;3253](https://redirect.github.com/metal3-io/baremetal-operator/issues/3253)\n\nThe image for this release is: v0.13.1\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.0`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.0)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.12.7...v0.13.0-rc.0)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.12.0\n\n#### :warning: Breaking Changes\n\n- Uplifts CAPI to v1.13.0-rc.1, k8s group to v0.35.4 and controller-runtime to v0.23.3 ([#&#8203;3173](https://redirect.github.com/metal3-io/baremetal-operator/issues/3173))\n- Remove the iRMC driver, deprecate BMH.Spec.Firmware ([#&#8203;3034](https://redirect.github.com/metal3-io/baremetal-operator/issues/3034))\n\n#### :sparkles: New Features\n\n- Allow forced detachment of a host from Ironic ([#&#8203;2955](https://redirect.github.com/metal3-io/baremetal-operator/issues/2955))\n- Accept per-host pull secrets for external OCI registries ([#&#8203;2745](https://redirect.github.com/metal3-io/baremetal-operator/issues/2745))\n- Add libvirt network creation and deletion to vbmctl ([#&#8203;3136](https://redirect.github.com/metal3-io/baremetal-operator/issues/3136))\n- Adds Associate logic for HostClaim ([#&#8203;2996](https://redirect.github.com/metal3-io/baremetal-operator/issues/2996))\n- Add multi-architecture PXE boot support ([#&#8203;2966](https://redirect.github.com/metal3-io/baremetal-operator/issues/2966))\n- Add Healthy condition based on BMC health rollup ([#&#8203;3013](https://redirect.github.com/metal3-io/baremetal-operator/issues/3013))\n- Add PCI Address field to HardwareData NIC ([#&#8203;2895](https://redirect.github.com/metal3-io/baremetal-operator/issues/2895))\n- Restructure VBMCTL into separate package and CLI ([#&#8203;2953](https://redirect.github.com/metal3-io/baremetal-operator/issues/2953))\n- Conditions implementation for BareMetalHosts ([#&#8203;2945](https://redirect.github.com/metal3-io/baremetal-operator/issues/2945))\n- HostClaim custom resources ([#&#8203;2856](https://redirect.github.com/metal3-io/baremetal-operator/issues/2856))\n- Allow enabling ExternallyProvisioned for available hosts ([#&#8203;2774](https://redirect.github.com/metal3-io/baremetal-operator/issues/2774))\n\n#### :bug: Bug Fixes\n\n- Add missing `context` to `PreprovisioningImageFormats` func ([#&#8203;3165](https://redirect.github.com/metal3-io/baremetal-operator/issues/3165))\n- Fix Healthy condition staying Unknown despite Ironic reporting health status ([#&#8203;3133](https://redirect.github.com/metal3-io/baremetal-operator/issues/3133))\n- Add webhook readiness check before starting manager ([#&#8203;3162](https://redirect.github.com/metal3-io/baremetal-operator/issues/3162))\n- Remove unused RBAC permissions from controller ClusterRole ([#&#8203;3113](https://redirect.github.com/metal3-io/baremetal-operator/issues/3113))\n- Fix HFC controller error loop on deleted resource ([#&#8203;3124](https://redirect.github.com/metal3-io/baremetal-operator/issues/3124))\n- Add handling of paused annotation to the HFS controller ([#&#8203;3074](https://redirect.github.com/metal3-io/baremetal-operator/issues/3074))\n- Fix return values of the HFC controller in case of provisioner errors ([#&#8203;3073](https://redirect.github.com/metal3-io/baremetal-operator/issues/3073))\n- Do not check power failure when not applicable ([#&#8203;3069](https://redirect.github.com/metal3-io/baremetal-operator/issues/3069))\n- Enable BMO to abort servicing to back out of failures ([#&#8203;3000](https://redirect.github.com/metal3-io/baremetal-operator/issues/3000))\n- Do not log firmware components on each BMH reconciliation ([#&#8203;2963](https://redirect.github.com/metal3-io/baremetal-operator/issues/2963))\n- Correctly handle resource generations for HFC and HFS ([#&#8203;2964](https://redirect.github.com/metal3-io/baremetal-operator/issues/2964))\n- Make architecture tests portable across x86_64 and aarch64 ([#&#8203;2942](https://redirect.github.com/metal3-io/baremetal-operator/issues/2942))\n- Fix deletion hang when aborting inspection during power-off ([#&#8203;2928](https://redirect.github.com/metal3-io/baremetal-operator/issues/2928))\n- Allow setting `force_persistent_boot_device: <value>` for deploy_interface: direct ([#&#8203;2614](https://redirect.github.com/metal3-io/baremetal-operator/issues/2614))\n- Fix errors.As usage for NoDataInSecretError ([#&#8203;2890](https://redirect.github.com/metal3-io/baremetal-operator/issues/2890))\n- Sync automated_clean before deprovisioning ([#&#8203;2881](https://redirect.github.com/metal3-io/baremetal-operator/issues/2881))\n- Require PreprovisioningImage for deprovisioning when cleaning is enabled ([#&#8203;2859](https://redirect.github.com/metal3-io/baremetal-operator/issues/2859))\n\n#### :book: Documentation\n\n- Add release 0.13 test triggers to README ([#&#8203;3219](https://redirect.github.com/metal3-io/baremetal-operator/issues/3219))\n- add OpenSSF OSPS baseline level 1 badge ([#&#8203;3114](https://redirect.github.com/metal3-io/baremetal-operator/issues/3114))\n- Add release 0.12 test triggers to README ([#&#8203;2892](https://redirect.github.com/metal3-io/baremetal-operator/issues/2892))\n- Add explanation to run verify-release.sh script in releasing.md ([#&#8203;2773](https://redirect.github.com/metal3-io/baremetal-operator/issues/2773))\n\n#### :seedling: Others\n\n- Bump Go version to 1.25.10 ([#&#8203;3224](https://redirect.github.com/metal3-io/baremetal-operator/issues/3224))\n- Bump CAPI to v1.13.1 ([#&#8203;3212](https://redirect.github.com/metal3-io/baremetal-operator/issues/3212))\n- Bump github.com/moby/moby/client from 0.4.0 to 0.4.1 in /test ([#&#8203;3188](https://redirect.github.com/metal3-io/baremetal-operator/issues/3188))\n- Bump CAPI to v1.13.0 ([#&#8203;3187](https://redirect.github.com/metal3-io/baremetal-operator/issues/3187))\n- Simplify e2e fixture test configuration ([#&#8203;3167](https://redirect.github.com/metal3-io/baremetal-operator/issues/3167))\n- Set manager TLS default back to unset ([#&#8203;3153](https://redirect.github.com/metal3-io/baremetal-operator/issues/3153))\n- Bump github.com/cert-manager/cert-manager from 1.20.1 to 1.20.2 in /test ([#&#8203;3170](https://redirect.github.com/metal3-io/baremetal-operator/issues/3170))\n- Bump the kubernetes group to  v0.34.7 ([#&#8203;3169](https://redirect.github.com/metal3-io/baremetal-operator/issues/3169))\n- fix help target alignment and numeric target names ([#&#8203;3168](https://redirect.github.com/metal3-io/baremetal-operator/issues/3168))\n- Add image server management commands to vbmctl ([#&#8203;3121](https://redirect.github.com/metal3-io/baremetal-operator/issues/3121))\n- Create ironic.yaml for the e2e tests from a template file ([#&#8203;3095](https://redirect.github.com/metal3-io/baremetal-operator/issues/3095))\n- Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /test ([#&#8203;3158](https://redirect.github.com/metal3-io/baremetal-operator/issues/3158))\n- Bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1 ([#&#8203;3156](https://redirect.github.com/metal3-io/baremetal-operator/issues/3156))\n- Bump github.com/gophercloud/gophercloud/v2 from 2.11.1 to 2.12.0 ([#&#8203;3155](https://redirect.github.com/metal3-io/baremetal-operator/issues/3155))\n- Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /hack/tools ([#&#8203;3157](https://redirect.github.com/metal3-io/baremetal-operator/issues/3157))\n- Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 ([#&#8203;3148](https://redirect.github.com/metal3-io/baremetal-operator/issues/3148))\n- Add scheduled github worklow job for Fuzzing ([#&#8203;3122](https://redirect.github.com/metal3-io/baremetal-operator/issues/3122))\n- Bump libvirt.org/go/libvirt from 1.12001.0 to 1.12002.0 in /test ([#&#8203;3140](https://redirect.github.com/metal3-io/baremetal-operator/issues/3140))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.9 to 3.6.10 ([#&#8203;3139](https://redirect.github.com/metal3-io/baremetal-operator/issues/3139))\n- Bump go version used for building to 1.25.9 ([#&#8203;3145](https://redirect.github.com/metal3-io/baremetal-operator/issues/3145))\n- Add maketarget for ensuring docker is present for testing ([#&#8203;2699](https://redirect.github.com/metal3-io/baremetal-operator/issues/2699))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.0 to 0.8.1 ([#&#8203;3125](https://redirect.github.com/metal3-io/baremetal-operator/issues/3125))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.0 to 0.8.1 in /test ([#&#8203;3127](https://redirect.github.com/metal3-io/baremetal-operator/issues/3127))\n- Remove legacy vbmctl entrypoint and update E2E VM config ([#&#8203;3120](https://redirect.github.com/metal3-io/baremetal-operator/issues/3120))\n- remove unneeded vbmctl template datatypes ([#&#8203;3123](https://redirect.github.com/metal3-io/baremetal-operator/issues/3123))\n- vbmctl: support multiple volume sizes via repeatable --volume-size flag ([#&#8203;3112](https://redirect.github.com/metal3-io/baremetal-operator/issues/3112))\n- Bump sigs.k8s.io/controller-runtime from 0.23.1 to 0.23.3 in /test ([#&#8203;3106](https://redirect.github.com/metal3-io/baremetal-operator/issues/3106))\n- Include vbmctl unit tests in unit workflow ([#&#8203;3117](https://redirect.github.com/metal3-io/baremetal-operator/issues/3117))\n- Bump google.golang.org/grpc from 1.72.1 to 1.79.3 ([#&#8203;3096](https://redirect.github.com/metal3-io/baremetal-operator/issues/3096))\n- remove docker push stuff from Makefile ([#&#8203;3092](https://redirect.github.com/metal3-io/baremetal-operator/issues/3092))\n- Fix linter issues in main ([#&#8203;3094](https://redirect.github.com/metal3-io/baremetal-operator/issues/3094))\n- Avoid meaningless logging when a secret is owned by another controller ([#&#8203;2972](https://redirect.github.com/metal3-io/baremetal-operator/issues/2972))\n- Bump github.com/spf13/cobra from 1.10.1 to 1.10.2 in /test ([#&#8203;3058](https://redirect.github.com/metal3-io/baremetal-operator/issues/3058))\n- Bump actions/setup-go from 6.2.0 to 6.3.0 in the github-actions group ([#&#8203;3059](https://redirect.github.com/metal3-io/baremetal-operator/issues/3059))\n- Bump golang.org/x/oauth2 from 0.34.0 to 0.36.0 in /hack/tools ([#&#8203;3079](https://redirect.github.com/metal3-io/baremetal-operator/issues/3079))\n- bump x/net to v0.49.0 ([#&#8203;3082](https://redirect.github.com/metal3-io/baremetal-operator/issues/3082))\n- Add first fuzzing test for bmc address parsing ([#&#8203;3002](https://redirect.github.com/metal3-io/baremetal-operator/issues/3002))\n- e2e: check that all namespaces are added to WATCH_NAMESPACE ([#&#8203;3068](https://redirect.github.com/metal3-io/baremetal-operator/issues/3068))\n- Tests: avoid duplicated test names ([#&#8203;3065](https://redirect.github.com/metal3-io/baremetal-operator/issues/3065))\n- E2E: Remove libvirt DHCP reservation from VMs ([#&#8203;3033](https://redirect.github.com/metal3-io/baremetal-operator/issues/3033))\n- Update vbmctlapi package name to fix lint error ([#&#8203;3054](https://redirect.github.com/metal3-io/baremetal-operator/issues/3054))\n- add zizmor scanner ([#&#8203;3053](https://redirect.github.com/metal3-io/baremetal-operator/issues/3053))\n- Adds overlays for release v0.12 ([#&#8203;2872](https://redirect.github.com/metal3-io/baremetal-operator/issues/2872))\n- Exclude revive var-naming check for test/vbmctl/pkg/api ([#&#8203;3052](https://redirect.github.com/metal3-io/baremetal-operator/issues/3052))\n- harden github actions workflows ([#&#8203;3045](https://redirect.github.com/metal3-io/baremetal-operator/issues/3045))\n- E2E: Increase inotify limits ([#&#8203;3047](https://redirect.github.com/metal3-io/baremetal-operator/issues/3047))\n- move security-insights.yml to .github/ and use upstream validator ([#&#8203;3044](https://redirect.github.com/metal3-io/baremetal-operator/issues/3044))\n- Bump tj-actions/changed-files from 47.0.1 to 47.0.4 in the github-actions group ([#&#8203;3035](https://redirect.github.com/metal3-io/baremetal-operator/issues/3035))\n- Parameterize container tool in Makefile ([#&#8203;2999](https://redirect.github.com/metal3-io/baremetal-operator/issues/2999))\n- Bump sigs.k8s.io/kustomize/kustomize/v5 from 5.8.0 to 5.8.1 in /hack/tools ([#&#8203;3037](https://redirect.github.com/metal3-io/baremetal-operator/issues/3037))\n- Bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /hack/tools ([#&#8203;3004](https://redirect.github.com/metal3-io/baremetal-operator/issues/3004))\n- E2E serial logs per test ([#&#8203;2911](https://redirect.github.com/metal3-io/baremetal-operator/issues/2911))\n- bump osv-scanner in hack/verify-release.sh ([#&#8203;3028](https://redirect.github.com/metal3-io/baremetal-operator/issues/3028))\n- Bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 in /test ([#&#8203;3021](https://redirect.github.com/metal3-io/baremetal-operator/issues/3021))\n- add SECURITY_INSIGHTS.yml ([#&#8203;3015](https://redirect.github.com/metal3-io/baremetal-operator/issues/3015))\n- Bump golang to v1.25 ([#&#8203;2998](https://redirect.github.com/metal3-io/baremetal-operator/issues/2998))\n- add Sunnatillo as reviewer ([#&#8203;3023](https://redirect.github.com/metal3-io/baremetal-operator/issues/3023))\n- e2e: workaround for docker 29 issues ([#&#8203;3014](https://redirect.github.com/metal3-io/baremetal-operator/issues/3014))\n- E2E: Use per-test cluster for upgrades ([#&#8203;2947](https://redirect.github.com/metal3-io/baremetal-operator/issues/2947))\n- add smoshiur1237 as reviewer ([#&#8203;3012](https://redirect.github.com/metal3-io/baremetal-operator/issues/3012))\n- Bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /test ([#&#8203;3007](https://redirect.github.com/metal3-io/baremetal-operator/issues/3007))\n- enforce ol-prefix 'one' style for ordered lists ([#&#8203;2979](https://redirect.github.com/metal3-io/baremetal-operator/issues/2979))\n- fix reapprover workflow ([#&#8203;2977](https://redirect.github.com/metal3-io/baremetal-operator/issues/2977))\n- Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 in /test ([#&#8203;2958](https://redirect.github.com/metal3-io/baremetal-operator/issues/2958))\n- bump cert-manager to v1.18.5 ([#&#8203;2976](https://redirect.github.com/metal3-io/baremetal-operator/issues/2976))\n- bump github actions to new major versions ([#&#8203;2965](https://redirect.github.com/metal3-io/baremetal-operator/issues/2965))\n- Improve error handling in E2E artifact dump helpers ([#&#8203;2951](https://redirect.github.com/metal3-io/baremetal-operator/issues/2951))\n- Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 ([#&#8203;2956](https://redirect.github.com/metal3-io/baremetal-operator/issues/2956))\n- E2E: Log collection improvements ([#&#8203;2905](https://redirect.github.com/metal3-io/baremetal-operator/issues/2905))\n- E2E: Cleanup old hardwaredata ([#&#8203;2925](https://redirect.github.com/metal3-io/baremetal-operator/issues/2925))\n- E2E: Avoid BMO < 0.11 and Ironic > 30 together ([#&#8203;2910](https://redirect.github.com/metal3-io/baremetal-operator/issues/2910))\n- Refactor: move HardwareDetails type to HardwareData ([#&#8203;2889](https://redirect.github.com/metal3-io/baremetal-operator/issues/2889))\n- Log when cannot detach immediately ([#&#8203;2902](https://redirect.github.com/metal3-io/baremetal-operator/issues/2902))\n- E2E: Use UEFI ([#&#8203;2770](https://redirect.github.com/metal3-io/baremetal-operator/issues/2770))\n- Bump sigs.k8s.io/kind from 0.30.0 to 0.31.0 in /test ([#&#8203;2884](https://redirect.github.com/metal3-io/baremetal-operator/issues/2884))\n- Improve behavior on deletion of BMH with unreachable BMC in verifying state ([#&#8203;2879](https://redirect.github.com/metal3-io/baremetal-operator/issues/2879))\n- Add periodic test for release-0.12 ([#&#8203;2875](https://redirect.github.com/metal3-io/baremetal-operator/issues/2875))\n- Bump the github-actions group with 2 updates ([#&#8203;2863](https://redirect.github.com/metal3-io/baremetal-operator/issues/2863))\n- update dependabot config for release-0.12 ([#&#8203;2857](https://redirect.github.com/metal3-io/baremetal-operator/issues/2857))\n- add unit tests to SecretManager ([#&#8203;2812](https://redirect.github.com/metal3-io/baremetal-operator/issues/2812))\n\n#### :recycle: Superseded or Reverted\n\n- [#&#8203;3154](https://redirect.github.com/metal3-io/baremetal-operator/issues/3154), [#&#8203;3104](https://redirect.github.com/metal3-io/baremetal-operator/issues/3104), [#&#8203;3003](https://redirect.github.com/metal3-io/baremetal-operator/issues/3003), [#&#8203;2929](https://redirect.github.com/metal3-io/baremetal-operator/issues/2929), [#&#8203;2882](https://redirect.github.com/metal3-io/baremetal-operator/issues/2882), [#&#8203;2844](https://redirect.github.com/metal3-io/baremetal-operator/issues/2844), [#&#8203;3126](https://redirect.github.com/metal3-io/baremetal-operator/issues/3126), [#&#8203;3080](https://redirect.github.com/metal3-io/baremetal-operator/issues/3080), [#&#8203;3038](https://redirect.github.com/metal3-io/baremetal-operator/issues/3038), [#&#8203;3103](https://redirect.github.com/metal3-io/baremetal-operator/issues/3103), [#&#8203;3036](https://redirect.github.com/metal3-io/baremetal-operator/issues/3036), [#&#8203;2983](https://redirect.github.com/metal3-io/baremetal-operator/issues/2983), [#&#8203;2843](https://redirect.github.com/metal3-io/baremetal-operator/issues/2843), [#&#8203;2864](https://redirect.github.com/metal3-io/baremetal-operator/issues/2864), [#&#8203;2861](https://redirect.github.com/metal3-io/baremetal-operator/issues/2861), [#&#8203;2918](https://redirect.github.com/metal3-io/baremetal-operator/issues/2918), [#&#8203;2920](https://redirect.github.com/metal3-io/baremetal-operator/issues/2920), [#&#8203;3005](https://redirect.github.com/metal3-io/baremetal-operator/issues/3005), [#&#8203;3006](https://redirect.github.com/metal3-io/baremetal-operator/issues/3006), [#&#8203;3081](https://redirect.github.com/metal3-io/baremetal-operator/issues/3081), [#&#8203;2865](https://redirect.github.com/metal3-io/baremetal-operator/issues/2865), [#&#8203;2899](https://redirect.github.com/metal3-io/baremetal-operator/issues/2899), [#&#8203;2919](https://redirect.github.com/metal3-io/baremetal-operator/issues/2919), [#&#8203;2957](https://redirect.github.com/metal3-io/baremetal-operator/issues/2957), [#&#8203;2897](https://redirect.github.com/metal3-io/baremetal-operator/issues/2897), [#&#8203;3057](https://redirect.github.com/metal3-io/baremetal-operator/issues/3057), [#&#8203;2883](https://redirect.github.com/metal3-io/baremetal-operator/issues/2883), [#&#8203;2984](https://redirect.github.com/metal3-io/baremetal-operator/issues/2984), [#&#8203;3105](https://redirect.github.com/metal3-io/baremetal-operator/issues/3105), [#&#8203;3063](https://redirect.github.com/metal3-io/baremetal-operator/issues/3063), [#&#8203;2845](https://redirect.github.com/metal3-io/baremetal-operator/issues/2845), [#&#8203;2931](https://redirect.github.com/metal3-io/baremetal-operator/issues/2931), [#&#8203;2933](https://redirect.github.com/metal3-io/baremetal-operator/issues/2933), [#&#8203;2985](https://redirect.github.com/metal3-io/baremetal-operator/issues/2985), [#&#8203;2986](https://redirect.github.com/metal3-io/baremetal-operator/issues/2986), [#&#8203;2848](https://redirect.github.com/metal3-io/baremetal-operator/issues/2848), [#&#8203;2932](https://redirect.github.com/metal3-io/baremetal-operator/issues/2932), [#&#8203;2862](https://redirect.github.com/metal3-io/baremetal-operator/issues/2862), [#&#8203;3070](https://redirect.github.com/metal3-io/baremetal-operator/issues/3070), [#&#8203;3018](https://redirect.github.com/metal3-io/baremetal-operator/issues/3018), [#&#8203;2849](https://redirect.github.com/metal3-io/baremetal-operator/issues/2849), [#&#8203;2846](https://redirect.github.com/metal3-io/baremetal-operator/issues/2846), [#&#8203;2898](https://redirect.github.com/metal3-io/baremetal-operator/issues/2898), [#&#8203;2896](https://redirect.github.com/metal3-io/baremetal-operator/issues/2896), [#&#8203;2952](https://redirect.github.com/metal3-io/baremetal-operator/issues/2952), [#&#8203;2912](https://redirect.github.com/metal3-io/baremetal-operator/issues/2912), [#&#8203;2967](https://redirect.github.com/metal3-io/baremetal-operator/issues/2967)\n\nThe image for this release is: v0.13.0\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.12.7`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.12.7)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.12.6...v0.12.7)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.12.6\n\n#### :bug: Bug Fixes\n\n- Add delete permission to hostupdatepolicies.metal3.io ([#&#8203;3523](https://redirect.github.com/metal3-io/baremetal-operator/issues/3523))\n\n#### :seedling: Others\n\n- Bump the CAPI to v1.12.11 ([#&#8203;3517](https://redirect.github.com/metal3-io/baremetal-operator/issues/3517))\n- Add delete permission for secrets in e2e role ([#&#8203;3515](https://redirect.github.com/metal3-io/baremetal-operator/issues/3515))\n- Bump github.com/go-logr/logr from 1.4.3 to 1.4.4 ([#&#8203;3450](https://redirect.github.com/metal3-io/baremetal-operator/issues/3450))\n- Bump go version to 1.25.13 ([#&#8203;3534](https://redirect.github.com/metal3-io/baremetal-operator/issues/3534))\n- Bump checkout to v7 ([#&#8203;3507](https://redirect.github.com/metal3-io/baremetal-operator/issues/3507))\n- Bump the kubernetes to v0.34.10 ([#&#8203;3449](https://redirect.github.com/metal3-io/baremetal-operator/issues/3449))\n- Pin ironic version to 31.0 in E2E tests for release-0.12 ([#&#8203;3459](https://redirect.github.com/metal3-io/baremetal-operator/issues/3459))\n\nThe image for this release is: v0.12.7\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.12.6`](http\n\n> [!IMPORTANT]\n> \u2702 PR body was truncated to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\ud83d\udcc5 **Schedule**: (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule defined)\n\n\ud83d\udea6 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n\u267b **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\ud83d\udd15 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/99",
                                            "commit_id": "2ca5e6f0beb9c00d38e6694c31985a9cb3e5161a",
                                            "patchset": "2ca5e6f0beb9c00d38e6694c31985a9cb3e5161a",
                                            "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": "99",
                                            "change_message": "chore(deps): update dependency metal3-io/baremetal-operator to v0.14.2\n\n> [!NOTE]\n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [metal3-io/baremetal-operator](https://redirect.github.com/metal3-io/baremetal-operator) | minor | `0.10.3` \u2192 `0.14.2` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>metal3-io/baremetal-operator</summary>\n\n### [`v0.14.2`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.14.2)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.14.1...v0.14.2)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.14.1\n\n#### :bug: Bug Fixes\n\n- Set image_type in Ironic to avoid an unnecessary HEAD call ([#&#8203;3633](https://redirect.github.com/metal3-io/baremetal-operator/issues/3633))\n\n#### :seedling: Others\n\n- Bump Go to 1.26.9, osv-scanner to v2.6.0 and go group dependencies ([#&#8203;3723](https://redirect.github.com/metal3-io/baremetal-operator/issues/3723))\n- Bump the kubernetes group across 3 directories with 5 updates ([#&#8203;3680](https://redirect.github.com/metal3-io/baremetal-operator/issues/3680))\n- Bump the capi group across 3 directories with 2 updates ([#&#8203;3714](https://redirect.github.com/metal3-io/baremetal-operator/issues/3714))\n- Bump the kustomize group across 2 directories with 3 updates ([#&#8203;3701](https://redirect.github.com/metal3-io/baremetal-operator/issues/3701))\n- Bump gophercloud to v2.15.0 and test int64 BIOS bounds ([#&#8203;3689](https://redirect.github.com/metal3-io/baremetal-operator/issues/3689))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.7.1 to 3.7.2 ([#&#8203;3681](https://redirect.github.com/metal3-io/baremetal-operator/issues/3681))\n- Remove pr-verifier Github action workflow ([#&#8203;3664](https://redirect.github.com/metal3-io/baremetal-operator/issues/3664))\n- Remove unit GHA workflow in favor of Prow test ([#&#8203;3640](https://redirect.github.com/metal3-io/baremetal-operator/issues/3640))\n- Bump cert-manager from 1.20.3 to 1.20.4 in /test ([#&#8203;3659](https://redirect.github.com/metal3-io/baremetal-operator/issues/3659))\n- Run zizmor for release branch PRs ([#&#8203;3675](https://redirect.github.com/metal3-io/baremetal-operator/issues/3675))\n\nThe image for this release is: v0.14.2\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.14.1`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.14.1)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.14.0-rc.0...v0.14.1)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.14.0\n\n#### :seedling: Others\n\n- Bump github.com/onsi/ginkgo/v2 to 2.32.2 ([#&#8203;3658](https://redirect.github.com/metal3-io/baremetal-operator/issues/3658))\n- Bump github.com/onsi/ginkgo/v2 from 2.32.1 to 2.32.2 in /test ([#&#8203;3660](https://redirect.github.com/metal3-io/baremetal-operator/issues/3660))\n- Bump Opentelemetry otel to 1.45.0 ([#&#8203;3654](https://redirect.github.com/metal3-io/baremetal-operator/issues/3654))\n- Bump CAPI to 1.14.2 ([#&#8203;3637](https://redirect.github.com/metal3-io/baremetal-operator/issues/3637))\n- Avoid Nordix Artifactory ([#&#8203;3649](https://redirect.github.com/metal3-io/baremetal-operator/issues/3649))\n- Remove 0.11 config, add 0.14 configs, pin Ironic ([#&#8203;3619](https://redirect.github.com/metal3-io/baremetal-operator/issues/3619))\n- bump grpc to 1.83.2 ([#&#8203;3624](https://redirect.github.com/metal3-io/baremetal-operator/issues/3624))\n- Bump the kubernetes group to 0.36.4 ([#&#8203;3605](https://redirect.github.com/metal3-io/baremetal-operator/issues/3605))\n- Add yamllint hack script for Prow migration ([#&#8203;3584](https://redirect.github.com/metal3-io/baremetal-operator/issues/3584))\n\nThe image for this release is: v0.14.1\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.14.0`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.14.0)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.6...v0.14.0-rc.0)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.0\n\n#### :warning: Breaking Changes\n\n- Deprecate BMH Taints field ([#&#8203;3465](https://redirect.github.com/metal3-io/baremetal-operator/issues/3465))\n- Provisioner: drop the separate TryInit call ([#&#8203;3327](https://redirect.github.com/metal3-io/baremetal-operator/issues/3327))\n\n#### :sparkles: New Features\n\n- Add fast Redfish-based inspection mode ([#&#8203;3482](https://redirect.github.com/metal3-io/baremetal-operator/issues/3482))\n- Add provisioning retry limit to prevent infinite loops ([#&#8203;3468](https://redirect.github.com/metal3-io/baremetal-operator/issues/3468))\n- Add webhooks to validate URLs ([#&#8203;3333](https://redirect.github.com/metal3-io/baremetal-operator/issues/3333))\n- Implementation of the HostClaim controller ([#&#8203;3406](https://redirect.github.com/metal3-io/baremetal-operator/issues/3406))\n- Add BMH and HNA types and cross resource validation ([#&#8203;3338](https://redirect.github.com/metal3-io/baremetal-operator/issues/3338))\n- Add TLS curve preferences support ([#&#8203;3423](https://redirect.github.com/metal3-io/baremetal-operator/issues/3423))\n- Implement structured logging pattern from CAPM3 ([#&#8203;2943](https://redirect.github.com/metal3-io/baremetal-operator/issues/2943))\n- Cache Ironic client and its status across reconciliations ([#&#8203;3343](https://redirect.github.com/metal3-io/baremetal-operator/issues/3343))\n- Migrate to go-plugin system for provisioners ([#&#8203;3166](https://redirect.github.com/metal3-io/baremetal-operator/issues/3166))\n- Reduce and simplify requeue delays in the Ironic provisioner ([#&#8203;3302](https://redirect.github.com/metal3-io/baremetal-operator/issues/3302))\n- Add BareMetalSwitch CRD and controller for switch config generation ([#&#8203;3046](https://redirect.github.com/metal3-io/baremetal-operator/issues/3046))\n- Allow exiting the externally provisioned state ([#&#8203;3181](https://redirect.github.com/metal3-io/baremetal-operator/issues/3181))\n- Validation webhook for hostclaims ([#&#8203;3196](https://redirect.github.com/metal3-io/baremetal-operator/issues/3196))\n- Add container networking to vbmctl and add tests ([#&#8203;3241](https://redirect.github.com/metal3-io/baremetal-operator/issues/3241))\n- Add veth pair management to vbmctl ([#&#8203;3151](https://redirect.github.com/metal3-io/baremetal-operator/issues/3151))\n\n#### :bug: Bug Fixes\n\n- Add delete permission to hostupdatepolicies.metal3.io ([#&#8203;3521](https://redirect.github.com/metal3-io/baremetal-operator/issues/3521))\n- Fix credentials not persisted while waiting for PreprovisioningImage ([#&#8203;3443](https://redirect.github.com/metal3-io/baremetal-operator/issues/3443))\n- Make NeedsMAC semantics consistent across BMC drivers ([#&#8203;3382](https://redirect.github.com/metal3-io/baremetal-operator/issues/3382))\n- Fix OCI pull secret credential format sent to Ironic ([#&#8203;3441](https://redirect.github.com/metal3-io/baremetal-operator/issues/3441))\n- Fix common logging code and move to reusable location ([#&#8203;3392](https://redirect.github.com/metal3-io/baremetal-operator/issues/3392))\n- Fix flaky Go installation in e2e setup ([#&#8203;3396](https://redirect.github.com/metal3-io/baremetal-operator/issues/3396))\n- Clean-up temporary CA files when Ironic CR are used ([#&#8203;3358](https://redirect.github.com/metal3-io/baremetal-operator/issues/3358))\n- Add a timeout for Ironic endpoint validation ([#&#8203;3357](https://redirect.github.com/metal3-io/baremetal-operator/issues/3357))\n- Restore delete permission on secrets ([#&#8203;3310](https://redirect.github.com/metal3-io/baremetal-operator/issues/3310))\n- preserve phased-reboot annotations instead of deleting them on soft-reboot fallback ([#&#8203;3342](https://redirect.github.com/metal3-io/baremetal-operator/issues/3342))\n- Omit empty checksum from provisioning error message ([#&#8203;3372](https://redirect.github.com/metal3-io/baremetal-operator/issues/3372))\n- Fix webhook state guard status checks ([#&#8203;3311](https://redirect.github.com/metal3-io/baremetal-operator/issues/3311))\n- Add BMH finalizer on PreprovisioningImage ([#&#8203;3354](https://redirect.github.com/metal3-io/baremetal-operator/issues/3354))\n- Only create ports in stable provision states ([#&#8203;3344](https://redirect.github.com/metal3-io/baremetal-operator/issues/3344))\n- Move PreprovisioningImage controller back to public package ([#&#8203;3341](https://redirect.github.com/metal3-io/baremetal-operator/issues/3341))\n- Cache Ironic Node object for the duration of a reconcile ([#&#8203;3291](https://redirect.github.com/metal3-io/baremetal-operator/issues/3291))\n- Avoid calling getNode in GetFirmwareSettings ([#&#8203;3329](https://redirect.github.com/metal3-io/baremetal-operator/issues/3329))\n- Avoid calling getNode in GetFirmwareComponents ([#&#8203;3330](https://redirect.github.com/metal3-io/baremetal-operator/issues/3330))\n- Fix preprovisioning network Secret lifecycle during BMH deletion ([#&#8203;3265](https://redirect.github.com/metal3-io/baremetal-operator/issues/3265))\n- Include image URL and checksum in provisioning error message ([#&#8203;3298](https://redirect.github.com/metal3-io/baremetal-operator/issues/3298))\n- Fix network creation error check in vbmctl ([#&#8203;3312](https://redirect.github.com/metal3-io/baremetal-operator/issues/3312))\n- Correct webhook admissionReview version ([#&#8203;3279](https://redirect.github.com/metal3-io/baremetal-operator/issues/3279))\n- Fix reconciling HFS created before BMH and add e2e tests ([#&#8203;3246](https://redirect.github.com/metal3-io/baremetal-operator/issues/3246))\n\n#### :book: Documentation\n\n- remove duplicate \"the\" in e2e README ([#&#8203;3278](https://redirect.github.com/metal3-io/baremetal-operator/issues/3278))\n- Add release 0.13 test triggers to README ([#&#8203;3218](https://redirect.github.com/metal3-io/baremetal-operator/issues/3218))\n- Consolidate Metal3 Contributing guide in community repo ([#&#8203;2894](https://redirect.github.com/metal3-io/baremetal-operator/issues/2894))\n\n#### :seedling: Others\n\n- Bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 in /test ([#&#8203;3610](https://redirect.github.com/metal3-io/baremetal-operator/issues/3610))\n- Bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 ([#&#8203;3609](https://redirect.github.com/metal3-io/baremetal-operator/issues/3609))\n- Bump sigs.k8s.io/cluster-api/test from 1.14.0 to 1.14.1 in /hack/tools in the capi group across 1 directory ([#&#8203;3607](https://redirect.github.com/metal3-io/baremetal-operator/issues/3607))\n- Add [@&#8203;nuhakala](https://redirect.github.com/nuhakala) and [@&#8203;terror96](https://redirect.github.com/terror96) as reviewers ([#&#8203;3598](https://redirect.github.com/metal3-io/baremetal-operator/issues/3598))\n- Bump k8s to v0.36.3, controller-runtime v0.24.1 and related changes ([#&#8203;3597](https://redirect.github.com/metal3-io/baremetal-operator/issues/3597))\n- Bump CAPI to 1.14.1 ([#&#8203;3595](https://redirect.github.com/metal3-io/baremetal-operator/issues/3595))\n- Bump grpc to v1.83.1 ([#&#8203;3574](https://redirect.github.com/metal3-io/baremetal-operator/issues/3574))\n- Bump Go version to 1.26.6 ([#&#8203;3535](https://redirect.github.com/metal3-io/baremetal-operator/issues/3535))\n- Bumpi CAPI to 1.14.0, k8s.io to v0.36.3, and logr to v1.4.4 ([#&#8203;3509](https://redirect.github.com/metal3-io/baremetal-operator/issues/3509))\n- Add delete permission for secrets in e2e role ([#&#8203;3512](https://redirect.github.com/metal3-io/baremetal-operator/issues/3512))\n- Sync the checkout action version to v7.0.1 ([#&#8203;3502](https://redirect.github.com/metal3-io/baremetal-operator/issues/3502))\n- Add unit tests for getDiskType, getStorageDetails, getCPUDetails, getSystemVendorDetails ([#&#8203;3150](https://redirect.github.com/metal3-io/baremetal-operator/issues/3150))\n- Build vbmctl as a release artifact ([#&#8203;3493](https://redirect.github.com/metal3-io/baremetal-operator/issues/3493))\n- Bump github.com/moby/moby/client from 0.5.0 to 0.5.1 in /test ([#&#8203;3475](https://redirect.github.com/metal3-io/baremetal-operator/issues/3475))\n- Bump libvirt.org/go/libvirt from 1.12005.0 to 1.12006.0 in /test ([#&#8203;3497](https://redirect.github.com/metal3-io/baremetal-operator/issues/3497))\n- Require explicit GitHub token for release notes tool ([#&#8203;3425](https://redirect.github.com/metal3-io/baremetal-operator/issues/3425))\n- e2e: Add user data secrets to cleanup list ([#&#8203;3437](https://redirect.github.com/metal3-io/baremetal-operator/issues/3437))\n- E2E: Verify Ironic TLS and basic-auth ([#&#8203;3332](https://redirect.github.com/metal3-io/baremetal-operator/issues/3332))\n- e2e: fix a typo in the expected state ([#&#8203;3490](https://redirect.github.com/metal3-io/baremetal-operator/issues/3490))\n- 3 minor improvement for hardware switch management ([#&#8203;3442](https://redirect.github.com/metal3-io/baremetal-operator/issues/3442))\n- Bump github.com/prometheus/client_golang from 1.24.0 to 1.24.1 ([#&#8203;3473](https://redirect.github.com/metal3-io/baremetal-operator/issues/3473))\n- Harden hack scripts against WORKDIR volume mount injection ([#&#8203;3463](https://redirect.github.com/metal3-io/baremetal-operator/issues/3463))\n- Remove golangci-lint github actions in favor of prow one ([#&#8203;3481](https://redirect.github.com/metal3-io/baremetal-operator/issues/3481))\n- E2E: Remove confusing image overrides ([#&#8203;3458](https://redirect.github.com/metal3-io/baremetal-operator/issues/3458))\n- e2e: support and use IrSO 0.10, support Ironic 37.0 ([#&#8203;3466](https://redirect.github.com/metal3-io/baremetal-operator/issues/3466))\n- Bump go modules accross three directories ([#&#8203;3462](https://redirect.github.com/metal3-io/baremetal-operator/issues/3462))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.13 to 3.7.1 ([#&#8203;3418](https://redirect.github.com/metal3-io/baremetal-operator/issues/3418))\n- e2e: fall back to upstream images if artifactory is not available ([#&#8203;3452](https://redirect.github.com/metal3-io/baremetal-operator/issues/3452))\n- vbmctl: launch BMC emulator after network initialization ([#&#8203;3454](https://redirect.github.com/metal3-io/baremetal-operator/issues/3454))\n- e2e: disable cleaning before the test is over ([#&#8203;3456](https://redirect.github.com/metal3-io/baremetal-operator/issues/3456))\n- e2e: introduce a new tag \"ironic\" ([#&#8203;3439](https://redirect.github.com/metal3-io/baremetal-operator/issues/3439))\n- e2e tests - bios firmware upgrade ([#&#8203;3285](https://redirect.github.com/metal3-io/baremetal-operator/issues/3285))\n- e2e: test network data ([#&#8203;3408](https://redirect.github.com/metal3-io/baremetal-operator/issues/3408))\n- e2e: use --no-verbose with wget ([#&#8203;3433](https://redirect.github.com/metal3-io/baremetal-operator/issues/3433))\n- Add pierrecregut as a reviewer ([#&#8203;3413](https://redirect.github.com/metal3-io/baremetal-operator/issues/3413))\n- Switch generate.sh script to use ro mount ([#&#8203;3386](https://redirect.github.com/metal3-io/baremetal-operator/issues/3386))\n- Bump github.com/gophercloud/gophercloud/v2 from 2.12.0 to 2.13.0 in /test ([#&#8203;3402](https://redirect.github.com/metal3-io/baremetal-operator/issues/3402))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.9.0 to 0.10.0 in /test ([#&#8203;3400](https://redirect.github.com/metal3-io/baremetal-operator/issues/3400))\n- Bump github.com/gophercloud/gophercloud/v2 from 2.12.0 to 2.13.0 ([#&#8203;3397](https://redirect.github.com/metal3-io/baremetal-operator/issues/3397))\n- Bump github.com/cert-manager/cert-manager from 1.20.2 to 1.20.3 in /test ([#&#8203;3401](https://redirect.github.com/metal3-io/baremetal-operator/issues/3401))\n- e2e: ensure that Redfish emulator actually starts ([#&#8203;3393](https://redirect.github.com/metal3-io/baremetal-operator/issues/3393))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.9.0 to 0.10.0 ([#&#8203;3399](https://redirect.github.com/metal3-io/baremetal-operator/issues/3399))\n- e2e: retry reading /proc/cmdline ([#&#8203;3395](https://redirect.github.com/metal3-io/baremetal-operator/issues/3395))\n- Bump the github-actions group with 3 updates ([#&#8203;3390](https://redirect.github.com/metal3-io/baremetal-operator/issues/3390))\n- e2e: Split BMO ironic and bmo upgrade tests ([#&#8203;3281](https://redirect.github.com/metal3-io/baremetal-operator/issues/3281))\n- Fix missing target name in .PHONY declaration for mod ([#&#8203;3379](https://redirect.github.com/metal3-io/baremetal-operator/issues/3379))\n- Rename getSecretData() to getSecretDataWithFinalizer() ([#&#8203;3381](https://redirect.github.com/metal3-io/baremetal-operator/issues/3381))\n- Bump github.com/onsi/gomega from 1.42.0 to 1.42.1 in /test ([#&#8203;3385](https://redirect.github.com/metal3-io/baremetal-operator/issues/3385))\n- Bump github.com/onsi/gomega from 1.42.0 to 1.42.1 ([#&#8203;3384](https://redirect.github.com/metal3-io/baremetal-operator/issues/3384))\n- vbmctl: Make VM template portable across distros ([#&#8203;3378](https://redirect.github.com/metal3-io/baremetal-operator/issues/3378))\n- Bump github.com/moby/moby/api from 1.54.2 to 1.55.0 in /test ([#&#8203;3369](https://redirect.github.com/metal3-io/baremetal-operator/issues/3369))\n- Remove mariadb-image from run_local_ironic.sh ([#&#8203;3360](https://redirect.github.com/metal3-io/baremetal-operator/issues/3360))\n- e2e: decouple systemrescue and cirros downloads ([#&#8203;3356](https://redirect.github.com/metal3-io/baremetal-operator/issues/3356))\n- Set cooldown days to 3 for dependabot ([#&#8203;3336](https://redirect.github.com/metal3-io/baremetal-operator/issues/3336))\n- fix dependabots build workflop step ([#&#8203;3366](https://redirect.github.com/metal3-io/baremetal-operator/issues/3366))\n- Use proper IPA cache address ([#&#8203;3361](https://redirect.github.com/metal3-io/baremetal-operator/issues/3361))\n- Safeguard against empty slice when fetching ports ([#&#8203;3355](https://redirect.github.com/metal3-io/baremetal-operator/issues/3355))\n- Bump golang.org/x/sys from 0.45.0 to 0.46.0 in /test ([#&#8203;3348](https://redirect.github.com/metal3-io/baremetal-operator/issues/3348))\n- Fix lint error ([#&#8203;3339](https://redirect.github.com/metal3-io/baremetal-operator/issues/3339))\n- e2e: fix breakage caused by hardcoded MAC address in hardwareDetails ([#&#8203;3337](https://redirect.github.com/metal3-io/baremetal-operator/issues/3337))\n- e2e: run inspection on virtual media without BootMACAddress ([#&#8203;3299](https://redirect.github.com/metal3-io/baremetal-operator/issues/3299))\n- Drive e2e setup via vbmctl config template ([#&#8203;3282](https://redirect.github.com/metal3-io/baremetal-operator/issues/3282))\n- e2e: wait a bit for /mnt/data to appear ([#&#8203;3328](https://redirect.github.com/metal3-io/baremetal-operator/issues/3328))\n- Split vbmctl main.go into separate files ([#&#8203;3280](https://redirect.github.com/metal3-io/baremetal-operator/issues/3280))\n- Remove unused Ironic overlays ([#&#8203;3326](https://redirect.github.com/metal3-io/baremetal-operator/issues/3326))\n- Bump sigs.k8s.io/kind from 0.31.0 to 0.32.0 in /test ([#&#8203;3322](https://redirect.github.com/metal3-io/baremetal-operator/issues/3322))\n- Return error msg in case of failure to read preprovisioningNetworkData ([#&#8203;3248](https://redirect.github.com/metal3-io/baremetal-operator/issues/3248))\n- e2e: servicing of externally provisioned hosts ([#&#8203;3288](https://redirect.github.com/metal3-io/baremetal-operator/issues/3288))\n- Add e2e test on PreprovisioningNetworkData ([#&#8203;3258](https://redirect.github.com/metal3-io/baremetal-operator/issues/3258))\n- e2e: reset BIOS settings in sushy-tools before HFS tests ([#&#8203;3300](https://redirect.github.com/metal3-io/baremetal-operator/issues/3300))\n- Use hard reboot in firmware settings test ([#&#8203;3293](https://redirect.github.com/metal3-io/baremetal-operator/issues/3293))\n- Trivial: fix duplicate BMH name in e2e tests ([#&#8203;3289](https://redirect.github.com/metal3-io/baremetal-operator/issues/3289))\n- Centralize BMH cleanup in AfterEach via Cleanup function ([#&#8203;3245](https://redirect.github.com/metal3-io/baremetal-operator/issues/3245))\n- Eliminate sushy-tools configuration file ([#&#8203;3264](https://redirect.github.com/metal3-io/baremetal-operator/issues/3264))\n- e2e: make sushy-tools image customizable ([#&#8203;3263](https://redirect.github.com/metal3-io/baremetal-operator/issues/3263))\n- Remove use of deprecated pointer package ([#&#8203;3269](https://redirect.github.com/metal3-io/baremetal-operator/issues/3269))\n- E2E: Verify IPA boot was managed by Ironic ([#&#8203;3243](https://redirect.github.com/metal3-io/baremetal-operator/issues/3243))\n- e2e: avoid non-string values in the HFS tests ([#&#8203;3262](https://redirect.github.com/metal3-io/baremetal-operator/issues/3262))\n- Add e2e tests for forced detachment ([#&#8203;3072](https://redirect.github.com/metal3-io/baremetal-operator/issues/3072))\n- Add overlays for BMO 0.13 and Ironic 35.0 ([#&#8203;3216](https://redirect.github.com/metal3-io/baremetal-operator/issues/3216))\n- Add periodic release workflow for 0.13 ([#&#8203;3215](https://redirect.github.com/metal3-io/baremetal-operator/issues/3215))\n- remove obsoleted release action ([#&#8203;3209](https://redirect.github.com/metal3-io/baremetal-operator/issues/3209))\n- Bump github.com/vishvananda/netlink from 1.3.0 to 1.3.1 in /test ([#&#8203;3230](https://redirect.github.com/metal3-io/baremetal-operator/issues/3230))\n- Update dependabot target branch to release-0.13 ([#&#8203;3217](https://redirect.github.com/metal3-io/baremetal-operator/issues/3217))\n- Add BMC emulator container management support to vbmctl ([#&#8203;3161](https://redirect.github.com/metal3-io/baremetal-operator/issues/3161))\n- Bump go.uber.org/zap from 1.27.1 to 1.28.0 ([#&#8203;3200](https://redirect.github.com/metal3-io/baremetal-operator/issues/3200))\n\n#### :recycle: Superseded or Reverted\n\n- [#&#8203;3345](https://redirect.github.com/metal3-io/baremetal-operator/issues/3345) [#&#8203;3251](https://redirect.github.com/metal3-io/baremetal-operator/issues/3251) [#&#8203;3252](https://redirect.github.com/metal3-io/baremetal-operator/issues/3252) [#&#8203;3198](https://redirect.github.com/metal3-io/baremetal-operator/issues/3198) [#&#8203;3374](https://redirect.github.com/metal3-io/baremetal-operator/issues/3374) [#&#8203;3427](https://redirect.github.com/metal3-io/baremetal-operator/issues/3427) [#&#8203;3457](https://redirect.github.com/metal3-io/baremetal-operator/issues/3457) [#&#8203;3415](https://redirect.github.com/metal3-io/baremetal-operator/issues/3415) [#&#8203;3222](https://redirect.github.com/metal3-io/baremetal-operator/issues/3222) [#&#8203;3349](https://redirect.github.com/metal3-io/baremetal-operator/issues/3349) [#&#8203;3277](https://redirect.github.com/metal3-io/baremetal-operator/issues/3277) [#&#8203;3237](https://redirect.github.com/metal3-io/baremetal-operator/issues/3237) [#&#8203;3347](https://redirect.github.com/metal3-io/baremetal-operator/issues/3347) [#&#8203;3274](https://redirect.github.com/metal3-io/baremetal-operator/issues/3274)\n  [#&#8203;3236](https://redirect.github.com/metal3-io/baremetal-operator/issues/3236) [#&#8203;3398](https://redirect.github.com/metal3-io/baremetal-operator/issues/3398) [#&#8203;3321](https://redirect.github.com/metal3-io/baremetal-operator/issues/3321) [#&#8203;3226](https://redirect.github.com/metal3-io/baremetal-operator/issues/3226) [#&#8203;3363](https://redirect.github.com/metal3-io/baremetal-operator/issues/3363) [#&#8203;3272](https://redirect.github.com/metal3-io/baremetal-operator/issues/3272) [#&#8203;3202](https://redirect.github.com/metal3-io/baremetal-operator/issues/3202) [#&#8203;3275](https://redirect.github.com/metal3-io/baremetal-operator/issues/3275) [#&#8203;3203](https://redirect.github.com/metal3-io/baremetal-operator/issues/3203) [#&#8203;3368](https://redirect.github.com/metal3-io/baremetal-operator/issues/3368) [#&#8203;3273](https://redirect.github.com/metal3-io/baremetal-operator/issues/3273) [#&#8203;3371](https://redirect.github.com/metal3-io/baremetal-operator/issues/3371) [#&#8203;3276](https://redirect.github.com/metal3-io/baremetal-operator/issues/3276) [#&#8203;3204](https://redirect.github.com/metal3-io/baremetal-operator/issues/3204)\n  [#&#8203;3446](https://redirect.github.com/metal3-io/baremetal-operator/issues/3446) [#&#8203;3201](https://redirect.github.com/metal3-io/baremetal-operator/issues/3201) [#&#8203;3205](https://redirect.github.com/metal3-io/baremetal-operator/issues/3205) [#&#8203;3428](https://redirect.github.com/metal3-io/baremetal-operator/issues/3428) [#&#8203;3229](https://redirect.github.com/metal3-io/baremetal-operator/issues/3229) [#&#8203;3370](https://redirect.github.com/metal3-io/baremetal-operator/issues/3370) [#&#8203;3319](https://redirect.github.com/metal3-io/baremetal-operator/issues/3319) [#&#8203;3419](https://redirect.github.com/metal3-io/baremetal-operator/issues/3419) [#&#8203;3421](https://redirect.github.com/metal3-io/baremetal-operator/issues/3421) [#&#8203;3451](https://redirect.github.com/metal3-io/baremetal-operator/issues/3451) [#&#8203;3444](https://redirect.github.com/metal3-io/baremetal-operator/issues/3444) [#&#8203;3383](https://redirect.github.com/metal3-io/baremetal-operator/issues/3383) [#&#8203;3364](https://redirect.github.com/metal3-io/baremetal-operator/issues/3364) [#&#8203;3250](https://redirect.github.com/metal3-io/baremetal-operator/issues/3250)\n  [#&#8203;3296](https://redirect.github.com/metal3-io/baremetal-operator/issues/3296) [#&#8203;3235](https://redirect.github.com/metal3-io/baremetal-operator/issues/3235) [#&#8203;3455](https://redirect.github.com/metal3-io/baremetal-operator/issues/3455)\n\nThe image for this release is: v0.14.0\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.6`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.6)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.5...v0.13.6)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.5\n\n#### :seedling: Others\n\n- Bump the capi group across 3 directories with 2 updates ([#&#8203;3716](https://redirect.github.com/metal3-io/baremetal-operator/issues/3716))\n- Configure zizmor for release-0.13 ([#&#8203;3642](https://redirect.github.com/metal3-io/baremetal-operator/issues/3642))\n- Remove golangci-lint gha in favor of Prow ([#&#8203;3651](https://redirect.github.com/metal3-io/baremetal-operator/issues/3651))\n- Bump the kubernetes group ([#&#8203;3682](https://redirect.github.com/metal3-io/baremetal-operator/issues/3682))\n- Remove pr-verifier GHA workflow ([#&#8203;3665](https://redirect.github.com/metal3-io/baremetal-operator/issues/3665))\n- Remove unit GHA workflow in favor of prow ([#&#8203;3641](https://redirect.github.com/metal3-io/baremetal-operator/issues/3641))\n- Bump github.com/cert-manager/cert-manager from 1.20.3 to 1.20.4 in /test ([#&#8203;3661](https://redirect.github.com/metal3-io/baremetal-operator/issues/3661))\n- Avoid Nordix Artifactory ([#&#8203;3652](https://redirect.github.com/metal3-io/baremetal-operator/issues/3652))\n\nThe image for this release is: v0.13.6\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.5`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.5)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.4...v0.13.5)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.4\n\n#### :seedling: Others\n\n- Bump the capi group across 3 directories with 2 updates ([#&#8203;3631](https://redirect.github.com/metal3-io/baremetal-operator/issues/3631))\n- Add yamllint hack script for Prow migration ([#&#8203;3543](https://redirect.github.com/metal3-io/baremetal-operator/issues/3543))\n- Bump grpc to 1.83.2 ([#&#8203;3623](https://redirect.github.com/metal3-io/baremetal-operator/issues/3623))\n- Add [@&#8203;nuhakala](https://redirect.github.com/nuhakala) and [@&#8203;terror96](https://redirect.github.com/terror96) as reviewers ([#&#8203;3599](https://redirect.github.com/metal3-io/baremetal-operator/issues/3599))\n\nThe image for this release is: v0.13.5\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.4`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.4)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.3...v0.13.4)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.3\n\n#### :seedling: Others\n\n- Bump grpc to v1.83.1 ([#&#8203;3573](https://redirect.github.com/metal3-io/baremetal-operator/issues/3573))\n\nThe image for this release is: v0.13.4\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.3`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.3)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.2...v0.13.3)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.2\n\n#### :bug: Bug Fixes\n\n- Add delete permission to hostupdatepolicies.metal3.io ([#&#8203;3522](https://redirect.github.com/metal3-io/baremetal-operator/issues/3522))\n\n#### :seedling: Others\n\n- Bump k8s.io/api from v0.35.7 to v0.35.8 ([#&#8203;3559](https://redirect.github.com/metal3-io/baremetal-operator/issues/3559))\n- Bump go version to 1.25.13 ([#&#8203;3533](https://redirect.github.com/metal3-io/baremetal-operator/issues/3533))\n- Add delete permission for secrets in e2e role ([#&#8203;3513](https://redirect.github.com/metal3-io/baremetal-operator/issues/3513))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.13 to 3.6.14 ([#&#8203;3476](https://redirect.github.com/metal3-io/baremetal-operator/issues/3476))\n- Bump checkout to v7 and remove inline zizmor comment ([#&#8203;3506](https://redirect.github.com/metal3-io/baremetal-operator/issues/3506))\n- Pin ironic version to 35.0 in default e2e overlay ([#&#8203;3464](https://redirect.github.com/metal3-io/baremetal-operator/issues/3464))\n- Bump github.com/go-logr/logr from 1.4.3 to 1.4.4 ([#&#8203;3448](https://redirect.github.com/metal3-io/baremetal-operator/issues/3448))\n\n#### :recycle: Superseded or Reverted\n\n- ([#&#8203;3557](https://redirect.github.com/metal3-io/baremetal-operator/issues/3557)), ([#&#8203;3552](https://redirect.github.com/metal3-io/baremetal-operator/issues/3552)), ([#&#8203;3519](https://redirect.github.com/metal3-io/baremetal-operator/issues/3519)), ([#&#8203;3447](https://redirect.github.com/metal3-io/baremetal-operator/issues/3447))\n\nThe image for this release is: v0.13.3\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.2`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.2)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.1...v0.13.2)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.1\n\n#### Bug Fixes\n\n- Restore delete permission on secrets ([#&#8203;3389](https://redirect.github.com/metal3-io/baremetal-operator/issues/3389))\n\n#### Others\n\n- Bump the capi group (to v1.13.4) across 3 directories with 2 updates ([#&#8203;3429](https://redirect.github.com/metal3-io/baremetal-operator/issues/3429))\n- Bump Go version to 1.25.12 ([#&#8203;3416](https://redirect.github.com/metal3-io/baremetal-operator/issues/3416))\n- Bump github.com/cert-manager/cert-manager from 1.20.2 to 1.20.3 in /test ([#&#8203;3404](https://redirect.github.com/metal3-io/baremetal-operator/issues/3404))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.12 to 3.6.13 ([#&#8203;3403](https://redirect.github.com/metal3-io/baremetal-operator/issues/3403))\n- Bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 in the github-actions group ([#&#8203;3391](https://redirect.github.com/metal3-io/baremetal-operator/issues/3391))\n\nThe image for this release is: v0.13.2\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.1`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.1)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.13.0-rc.0...v0.13.1)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.13.0\n\n#### :bug: Bug Fixes\n\n- Fix reconciling HFS created before BMH and add e2e tests ([#&#8203;3259](https://redirect.github.com/metal3-io/baremetal-operator/issues/3259))\n\n#### :seedling: Others\n\n- Bump cluster-api to v1.13.3 ([#&#8203;3376](https://redirect.github.com/metal3-io/baremetal-operator/issues/3376))\n- fix dependabots build workflop step ([#&#8203;3367](https://redirect.github.com/metal3-io/baremetal-operator/issues/3367))\n- Use proper IPA cache address ([#&#8203;3359](https://redirect.github.com/metal3-io/baremetal-operator/issues/3359))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.11 to 3.6.12 ([#&#8203;3323](https://redirect.github.com/metal3-io/baremetal-operator/issues/3323))\n- Bump x/net to v0.55.0 ([#&#8203;3320](https://redirect.github.com/metal3-io/baremetal-operator/issues/3320))\n- Bump Go version to 1.25.11 ([#&#8203;3315](https://redirect.github.com/metal3-io/baremetal-operator/issues/3315))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.1 to 0.8.2 in /test ([#&#8203;3295](https://redirect.github.com/metal3-io/baremetal-operator/issues/3295))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.1 to 0.8.2 ([#&#8203;3294](https://redirect.github.com/metal3-io/baremetal-operator/issues/3294))\n- Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.3 in /test ([#&#8203;3231](https://redirect.github.com/metal3-io/baremetal-operator/issues/3231))\n- Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.3 ([#&#8203;3228](https://redirect.github.com/metal3-io/baremetal-operator/issues/3228))\n- Bump the kubernetes group across 3 directories with 5 updates ([#&#8203;3351](https://redirect.github.com/metal3-io/baremetal-operator/issues/3351))\n- Fix e2e test to use irso v0.9 and ironic v35.0 ([#&#8203;3257](https://redirect.github.com/metal3-io/baremetal-operator/issues/3257))\n- Bump the github-actions group with 2 updates ([#&#8203;3297](https://redirect.github.com/metal3-io/baremetal-operator/issues/3297))\n- remove obsoleted release action ([#&#8203;3234](https://redirect.github.com/metal3-io/baremetal-operator/issues/3234))\n- Bump the capi group across 2 directories with 1 update ([#&#8203;3225](https://redirect.github.com/metal3-io/baremetal-operator/issues/3225))\n- Use hard reboot in firmware settings test ([#&#8203;3316](https://redirect.github.com/metal3-io/baremetal-operator/issues/3316))\n\n#### :recycle: Superseded or Reverted\n\n- [#&#8203;3254](https://redirect.github.com/metal3-io/baremetal-operator/issues/3254) [#&#8203;3227](https://redirect.github.com/metal3-io/baremetal-operator/issues/3227) [#&#8203;3240](https://redirect.github.com/metal3-io/baremetal-operator/issues/3240) [#&#8203;3253](https://redirect.github.com/metal3-io/baremetal-operator/issues/3253)\n\nThe image for this release is: v0.13.1\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.13.0`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.13.0)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.12.7...v0.13.0-rc.0)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.12.0\n\n#### :warning: Breaking Changes\n\n- Uplifts CAPI to v1.13.0-rc.1, k8s group to v0.35.4 and controller-runtime to v0.23.3 ([#&#8203;3173](https://redirect.github.com/metal3-io/baremetal-operator/issues/3173))\n- Remove the iRMC driver, deprecate BMH.Spec.Firmware ([#&#8203;3034](https://redirect.github.com/metal3-io/baremetal-operator/issues/3034))\n\n#### :sparkles: New Features\n\n- Allow forced detachment of a host from Ironic ([#&#8203;2955](https://redirect.github.com/metal3-io/baremetal-operator/issues/2955))\n- Accept per-host pull secrets for external OCI registries ([#&#8203;2745](https://redirect.github.com/metal3-io/baremetal-operator/issues/2745))\n- Add libvirt network creation and deletion to vbmctl ([#&#8203;3136](https://redirect.github.com/metal3-io/baremetal-operator/issues/3136))\n- Adds Associate logic for HostClaim ([#&#8203;2996](https://redirect.github.com/metal3-io/baremetal-operator/issues/2996))\n- Add multi-architecture PXE boot support ([#&#8203;2966](https://redirect.github.com/metal3-io/baremetal-operator/issues/2966))\n- Add Healthy condition based on BMC health rollup ([#&#8203;3013](https://redirect.github.com/metal3-io/baremetal-operator/issues/3013))\n- Add PCI Address field to HardwareData NIC ([#&#8203;2895](https://redirect.github.com/metal3-io/baremetal-operator/issues/2895))\n- Restructure VBMCTL into separate package and CLI ([#&#8203;2953](https://redirect.github.com/metal3-io/baremetal-operator/issues/2953))\n- Conditions implementation for BareMetalHosts ([#&#8203;2945](https://redirect.github.com/metal3-io/baremetal-operator/issues/2945))\n- HostClaim custom resources ([#&#8203;2856](https://redirect.github.com/metal3-io/baremetal-operator/issues/2856))\n- Allow enabling ExternallyProvisioned for available hosts ([#&#8203;2774](https://redirect.github.com/metal3-io/baremetal-operator/issues/2774))\n\n#### :bug: Bug Fixes\n\n- Add missing `context` to `PreprovisioningImageFormats` func ([#&#8203;3165](https://redirect.github.com/metal3-io/baremetal-operator/issues/3165))\n- Fix Healthy condition staying Unknown despite Ironic reporting health status ([#&#8203;3133](https://redirect.github.com/metal3-io/baremetal-operator/issues/3133))\n- Add webhook readiness check before starting manager ([#&#8203;3162](https://redirect.github.com/metal3-io/baremetal-operator/issues/3162))\n- Remove unused RBAC permissions from controller ClusterRole ([#&#8203;3113](https://redirect.github.com/metal3-io/baremetal-operator/issues/3113))\n- Fix HFC controller error loop on deleted resource ([#&#8203;3124](https://redirect.github.com/metal3-io/baremetal-operator/issues/3124))\n- Add handling of paused annotation to the HFS controller ([#&#8203;3074](https://redirect.github.com/metal3-io/baremetal-operator/issues/3074))\n- Fix return values of the HFC controller in case of provisioner errors ([#&#8203;3073](https://redirect.github.com/metal3-io/baremetal-operator/issues/3073))\n- Do not check power failure when not applicable ([#&#8203;3069](https://redirect.github.com/metal3-io/baremetal-operator/issues/3069))\n- Enable BMO to abort servicing to back out of failures ([#&#8203;3000](https://redirect.github.com/metal3-io/baremetal-operator/issues/3000))\n- Do not log firmware components on each BMH reconciliation ([#&#8203;2963](https://redirect.github.com/metal3-io/baremetal-operator/issues/2963))\n- Correctly handle resource generations for HFC and HFS ([#&#8203;2964](https://redirect.github.com/metal3-io/baremetal-operator/issues/2964))\n- Make architecture tests portable across x86_64 and aarch64 ([#&#8203;2942](https://redirect.github.com/metal3-io/baremetal-operator/issues/2942))\n- Fix deletion hang when aborting inspection during power-off ([#&#8203;2928](https://redirect.github.com/metal3-io/baremetal-operator/issues/2928))\n- Allow setting `force_persistent_boot_device: <value>` for deploy_interface: direct ([#&#8203;2614](https://redirect.github.com/metal3-io/baremetal-operator/issues/2614))\n- Fix errors.As usage for NoDataInSecretError ([#&#8203;2890](https://redirect.github.com/metal3-io/baremetal-operator/issues/2890))\n- Sync automated_clean before deprovisioning ([#&#8203;2881](https://redirect.github.com/metal3-io/baremetal-operator/issues/2881))\n- Require PreprovisioningImage for deprovisioning when cleaning is enabled ([#&#8203;2859](https://redirect.github.com/metal3-io/baremetal-operator/issues/2859))\n\n#### :book: Documentation\n\n- Add release 0.13 test triggers to README ([#&#8203;3219](https://redirect.github.com/metal3-io/baremetal-operator/issues/3219))\n- add OpenSSF OSPS baseline level 1 badge ([#&#8203;3114](https://redirect.github.com/metal3-io/baremetal-operator/issues/3114))\n- Add release 0.12 test triggers to README ([#&#8203;2892](https://redirect.github.com/metal3-io/baremetal-operator/issues/2892))\n- Add explanation to run verify-release.sh script in releasing.md ([#&#8203;2773](https://redirect.github.com/metal3-io/baremetal-operator/issues/2773))\n\n#### :seedling: Others\n\n- Bump Go version to 1.25.10 ([#&#8203;3224](https://redirect.github.com/metal3-io/baremetal-operator/issues/3224))\n- Bump CAPI to v1.13.1 ([#&#8203;3212](https://redirect.github.com/metal3-io/baremetal-operator/issues/3212))\n- Bump github.com/moby/moby/client from 0.4.0 to 0.4.1 in /test ([#&#8203;3188](https://redirect.github.com/metal3-io/baremetal-operator/issues/3188))\n- Bump CAPI to v1.13.0 ([#&#8203;3187](https://redirect.github.com/metal3-io/baremetal-operator/issues/3187))\n- Simplify e2e fixture test configuration ([#&#8203;3167](https://redirect.github.com/metal3-io/baremetal-operator/issues/3167))\n- Set manager TLS default back to unset ([#&#8203;3153](https://redirect.github.com/metal3-io/baremetal-operator/issues/3153))\n- Bump github.com/cert-manager/cert-manager from 1.20.1 to 1.20.2 in /test ([#&#8203;3170](https://redirect.github.com/metal3-io/baremetal-operator/issues/3170))\n- Bump the kubernetes group to  v0.34.7 ([#&#8203;3169](https://redirect.github.com/metal3-io/baremetal-operator/issues/3169))\n- fix help target alignment and numeric target names ([#&#8203;3168](https://redirect.github.com/metal3-io/baremetal-operator/issues/3168))\n- Add image server management commands to vbmctl ([#&#8203;3121](https://redirect.github.com/metal3-io/baremetal-operator/issues/3121))\n- Create ironic.yaml for the e2e tests from a template file ([#&#8203;3095](https://redirect.github.com/metal3-io/baremetal-operator/issues/3095))\n- Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /test ([#&#8203;3158](https://redirect.github.com/metal3-io/baremetal-operator/issues/3158))\n- Bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1 ([#&#8203;3156](https://redirect.github.com/metal3-io/baremetal-operator/issues/3156))\n- Bump github.com/gophercloud/gophercloud/v2 from 2.11.1 to 2.12.0 ([#&#8203;3155](https://redirect.github.com/metal3-io/baremetal-operator/issues/3155))\n- Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /hack/tools ([#&#8203;3157](https://redirect.github.com/metal3-io/baremetal-operator/issues/3157))\n- Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 ([#&#8203;3148](https://redirect.github.com/metal3-io/baremetal-operator/issues/3148))\n- Add scheduled github worklow job for Fuzzing ([#&#8203;3122](https://redirect.github.com/metal3-io/baremetal-operator/issues/3122))\n- Bump libvirt.org/go/libvirt from 1.12001.0 to 1.12002.0 in /test ([#&#8203;3140](https://redirect.github.com/metal3-io/baremetal-operator/issues/3140))\n- Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.9 to 3.6.10 ([#&#8203;3139](https://redirect.github.com/metal3-io/baremetal-operator/issues/3139))\n- Bump go version used for building to 1.25.9 ([#&#8203;3145](https://redirect.github.com/metal3-io/baremetal-operator/issues/3145))\n- Add maketarget for ensuring docker is present for testing ([#&#8203;2699](https://redirect.github.com/metal3-io/baremetal-operator/issues/2699))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.0 to 0.8.1 ([#&#8203;3125](https://redirect.github.com/metal3-io/baremetal-operator/issues/3125))\n- Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.0 to 0.8.1 in /test ([#&#8203;3127](https://redirect.github.com/metal3-io/baremetal-operator/issues/3127))\n- Remove legacy vbmctl entrypoint and update E2E VM config ([#&#8203;3120](https://redirect.github.com/metal3-io/baremetal-operator/issues/3120))\n- remove unneeded vbmctl template datatypes ([#&#8203;3123](https://redirect.github.com/metal3-io/baremetal-operator/issues/3123))\n- vbmctl: support multiple volume sizes via repeatable --volume-size flag ([#&#8203;3112](https://redirect.github.com/metal3-io/baremetal-operator/issues/3112))\n- Bump sigs.k8s.io/controller-runtime from 0.23.1 to 0.23.3 in /test ([#&#8203;3106](https://redirect.github.com/metal3-io/baremetal-operator/issues/3106))\n- Include vbmctl unit tests in unit workflow ([#&#8203;3117](https://redirect.github.com/metal3-io/baremetal-operator/issues/3117))\n- Bump google.golang.org/grpc from 1.72.1 to 1.79.3 ([#&#8203;3096](https://redirect.github.com/metal3-io/baremetal-operator/issues/3096))\n- remove docker push stuff from Makefile ([#&#8203;3092](https://redirect.github.com/metal3-io/baremetal-operator/issues/3092))\n- Fix linter issues in main ([#&#8203;3094](https://redirect.github.com/metal3-io/baremetal-operator/issues/3094))\n- Avoid meaningless logging when a secret is owned by another controller ([#&#8203;2972](https://redirect.github.com/metal3-io/baremetal-operator/issues/2972))\n- Bump github.com/spf13/cobra from 1.10.1 to 1.10.2 in /test ([#&#8203;3058](https://redirect.github.com/metal3-io/baremetal-operator/issues/3058))\n- Bump actions/setup-go from 6.2.0 to 6.3.0 in the github-actions group ([#&#8203;3059](https://redirect.github.com/metal3-io/baremetal-operator/issues/3059))\n- Bump golang.org/x/oauth2 from 0.34.0 to 0.36.0 in /hack/tools ([#&#8203;3079](https://redirect.github.com/metal3-io/baremetal-operator/issues/3079))\n- bump x/net to v0.49.0 ([#&#8203;3082](https://redirect.github.com/metal3-io/baremetal-operator/issues/3082))\n- Add first fuzzing test for bmc address parsing ([#&#8203;3002](https://redirect.github.com/metal3-io/baremetal-operator/issues/3002))\n- e2e: check that all namespaces are added to WATCH_NAMESPACE ([#&#8203;3068](https://redirect.github.com/metal3-io/baremetal-operator/issues/3068))\n- Tests: avoid duplicated test names ([#&#8203;3065](https://redirect.github.com/metal3-io/baremetal-operator/issues/3065))\n- E2E: Remove libvirt DHCP reservation from VMs ([#&#8203;3033](https://redirect.github.com/metal3-io/baremetal-operator/issues/3033))\n- Update vbmctlapi package name to fix lint error ([#&#8203;3054](https://redirect.github.com/metal3-io/baremetal-operator/issues/3054))\n- add zizmor scanner ([#&#8203;3053](https://redirect.github.com/metal3-io/baremetal-operator/issues/3053))\n- Adds overlays for release v0.12 ([#&#8203;2872](https://redirect.github.com/metal3-io/baremetal-operator/issues/2872))\n- Exclude revive var-naming check for test/vbmctl/pkg/api ([#&#8203;3052](https://redirect.github.com/metal3-io/baremetal-operator/issues/3052))\n- harden github actions workflows ([#&#8203;3045](https://redirect.github.com/metal3-io/baremetal-operator/issues/3045))\n- E2E: Increase inotify limits ([#&#8203;3047](https://redirect.github.com/metal3-io/baremetal-operator/issues/3047))\n- move security-insights.yml to .github/ and use upstream validator ([#&#8203;3044](https://redirect.github.com/metal3-io/baremetal-operator/issues/3044))\n- Bump tj-actions/changed-files from 47.0.1 to 47.0.4 in the github-actions group ([#&#8203;3035](https://redirect.github.com/metal3-io/baremetal-operator/issues/3035))\n- Parameterize container tool in Makefile ([#&#8203;2999](https://redirect.github.com/metal3-io/baremetal-operator/issues/2999))\n- Bump sigs.k8s.io/kustomize/kustomize/v5 from 5.8.0 to 5.8.1 in /hack/tools ([#&#8203;3037](https://redirect.github.com/metal3-io/baremetal-operator/issues/3037))\n- Bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /hack/tools ([#&#8203;3004](https://redirect.github.com/metal3-io/baremetal-operator/issues/3004))\n- E2E serial logs per test ([#&#8203;2911](https://redirect.github.com/metal3-io/baremetal-operator/issues/2911))\n- bump osv-scanner in hack/verify-release.sh ([#&#8203;3028](https://redirect.github.com/metal3-io/baremetal-operator/issues/3028))\n- Bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 in /test ([#&#8203;3021](https://redirect.github.com/metal3-io/baremetal-operator/issues/3021))\n- add SECURITY_INSIGHTS.yml ([#&#8203;3015](https://redirect.github.com/metal3-io/baremetal-operator/issues/3015))\n- Bump golang to v1.25 ([#&#8203;2998](https://redirect.github.com/metal3-io/baremetal-operator/issues/2998))\n- add Sunnatillo as reviewer ([#&#8203;3023](https://redirect.github.com/metal3-io/baremetal-operator/issues/3023))\n- e2e: workaround for docker 29 issues ([#&#8203;3014](https://redirect.github.com/metal3-io/baremetal-operator/issues/3014))\n- E2E: Use per-test cluster for upgrades ([#&#8203;2947](https://redirect.github.com/metal3-io/baremetal-operator/issues/2947))\n- add smoshiur1237 as reviewer ([#&#8203;3012](https://redirect.github.com/metal3-io/baremetal-operator/issues/3012))\n- Bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /test ([#&#8203;3007](https://redirect.github.com/metal3-io/baremetal-operator/issues/3007))\n- enforce ol-prefix 'one' style for ordered lists ([#&#8203;2979](https://redirect.github.com/metal3-io/baremetal-operator/issues/2979))\n- fix reapprover workflow ([#&#8203;2977](https://redirect.github.com/metal3-io/baremetal-operator/issues/2977))\n- Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 in /test ([#&#8203;2958](https://redirect.github.com/metal3-io/baremetal-operator/issues/2958))\n- bump cert-manager to v1.18.5 ([#&#8203;2976](https://redirect.github.com/metal3-io/baremetal-operator/issues/2976))\n- bump github actions to new major versions ([#&#8203;2965](https://redirect.github.com/metal3-io/baremetal-operator/issues/2965))\n- Improve error handling in E2E artifact dump helpers ([#&#8203;2951](https://redirect.github.com/metal3-io/baremetal-operator/issues/2951))\n- Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 ([#&#8203;2956](https://redirect.github.com/metal3-io/baremetal-operator/issues/2956))\n- E2E: Log collection improvements ([#&#8203;2905](https://redirect.github.com/metal3-io/baremetal-operator/issues/2905))\n- E2E: Cleanup old hardwaredata ([#&#8203;2925](https://redirect.github.com/metal3-io/baremetal-operator/issues/2925))\n- E2E: Avoid BMO < 0.11 and Ironic > 30 together ([#&#8203;2910](https://redirect.github.com/metal3-io/baremetal-operator/issues/2910))\n- Refactor: move HardwareDetails type to HardwareData ([#&#8203;2889](https://redirect.github.com/metal3-io/baremetal-operator/issues/2889))\n- Log when cannot detach immediately ([#&#8203;2902](https://redirect.github.com/metal3-io/baremetal-operator/issues/2902))\n- E2E: Use UEFI ([#&#8203;2770](https://redirect.github.com/metal3-io/baremetal-operator/issues/2770))\n- Bump sigs.k8s.io/kind from 0.30.0 to 0.31.0 in /test ([#&#8203;2884](https://redirect.github.com/metal3-io/baremetal-operator/issues/2884))\n- Improve behavior on deletion of BMH with unreachable BMC in verifying state ([#&#8203;2879](https://redirect.github.com/metal3-io/baremetal-operator/issues/2879))\n- Add periodic test for release-0.12 ([#&#8203;2875](https://redirect.github.com/metal3-io/baremetal-operator/issues/2875))\n- Bump the github-actions group with 2 updates ([#&#8203;2863](https://redirect.github.com/metal3-io/baremetal-operator/issues/2863))\n- update dependabot config for release-0.12 ([#&#8203;2857](https://redirect.github.com/metal3-io/baremetal-operator/issues/2857))\n- add unit tests to SecretManager ([#&#8203;2812](https://redirect.github.com/metal3-io/baremetal-operator/issues/2812))\n\n#### :recycle: Superseded or Reverted\n\n- [#&#8203;3154](https://redirect.github.com/metal3-io/baremetal-operator/issues/3154), [#&#8203;3104](https://redirect.github.com/metal3-io/baremetal-operator/issues/3104), [#&#8203;3003](https://redirect.github.com/metal3-io/baremetal-operator/issues/3003), [#&#8203;2929](https://redirect.github.com/metal3-io/baremetal-operator/issues/2929), [#&#8203;2882](https://redirect.github.com/metal3-io/baremetal-operator/issues/2882), [#&#8203;2844](https://redirect.github.com/metal3-io/baremetal-operator/issues/2844), [#&#8203;3126](https://redirect.github.com/metal3-io/baremetal-operator/issues/3126), [#&#8203;3080](https://redirect.github.com/metal3-io/baremetal-operator/issues/3080), [#&#8203;3038](https://redirect.github.com/metal3-io/baremetal-operator/issues/3038), [#&#8203;3103](https://redirect.github.com/metal3-io/baremetal-operator/issues/3103), [#&#8203;3036](https://redirect.github.com/metal3-io/baremetal-operator/issues/3036), [#&#8203;2983](https://redirect.github.com/metal3-io/baremetal-operator/issues/2983), [#&#8203;2843](https://redirect.github.com/metal3-io/baremetal-operator/issues/2843), [#&#8203;2864](https://redirect.github.com/metal3-io/baremetal-operator/issues/2864), [#&#8203;2861](https://redirect.github.com/metal3-io/baremetal-operator/issues/2861), [#&#8203;2918](https://redirect.github.com/metal3-io/baremetal-operator/issues/2918), [#&#8203;2920](https://redirect.github.com/metal3-io/baremetal-operator/issues/2920), [#&#8203;3005](https://redirect.github.com/metal3-io/baremetal-operator/issues/3005), [#&#8203;3006](https://redirect.github.com/metal3-io/baremetal-operator/issues/3006), [#&#8203;3081](https://redirect.github.com/metal3-io/baremetal-operator/issues/3081), [#&#8203;2865](https://redirect.github.com/metal3-io/baremetal-operator/issues/2865), [#&#8203;2899](https://redirect.github.com/metal3-io/baremetal-operator/issues/2899), [#&#8203;2919](https://redirect.github.com/metal3-io/baremetal-operator/issues/2919), [#&#8203;2957](https://redirect.github.com/metal3-io/baremetal-operator/issues/2957), [#&#8203;2897](https://redirect.github.com/metal3-io/baremetal-operator/issues/2897), [#&#8203;3057](https://redirect.github.com/metal3-io/baremetal-operator/issues/3057), [#&#8203;2883](https://redirect.github.com/metal3-io/baremetal-operator/issues/2883), [#&#8203;2984](https://redirect.github.com/metal3-io/baremetal-operator/issues/2984), [#&#8203;3105](https://redirect.github.com/metal3-io/baremetal-operator/issues/3105), [#&#8203;3063](https://redirect.github.com/metal3-io/baremetal-operator/issues/3063), [#&#8203;2845](https://redirect.github.com/metal3-io/baremetal-operator/issues/2845), [#&#8203;2931](https://redirect.github.com/metal3-io/baremetal-operator/issues/2931), [#&#8203;2933](https://redirect.github.com/metal3-io/baremetal-operator/issues/2933), [#&#8203;2985](https://redirect.github.com/metal3-io/baremetal-operator/issues/2985), [#&#8203;2986](https://redirect.github.com/metal3-io/baremetal-operator/issues/2986), [#&#8203;2848](https://redirect.github.com/metal3-io/baremetal-operator/issues/2848), [#&#8203;2932](https://redirect.github.com/metal3-io/baremetal-operator/issues/2932), [#&#8203;2862](https://redirect.github.com/metal3-io/baremetal-operator/issues/2862), [#&#8203;3070](https://redirect.github.com/metal3-io/baremetal-operator/issues/3070), [#&#8203;3018](https://redirect.github.com/metal3-io/baremetal-operator/issues/3018), [#&#8203;2849](https://redirect.github.com/metal3-io/baremetal-operator/issues/2849), [#&#8203;2846](https://redirect.github.com/metal3-io/baremetal-operator/issues/2846), [#&#8203;2898](https://redirect.github.com/metal3-io/baremetal-operator/issues/2898), [#&#8203;2896](https://redirect.github.com/metal3-io/baremetal-operator/issues/2896), [#&#8203;2952](https://redirect.github.com/metal3-io/baremetal-operator/issues/2952), [#&#8203;2912](https://redirect.github.com/metal3-io/baremetal-operator/issues/2912), [#&#8203;2967](https://redirect.github.com/metal3-io/baremetal-operator/issues/2967)\n\nThe image for this release is: v0.13.0\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.12.7`](https://redirect.github.com/metal3-io/baremetal-operator/releases/tag/v0.12.7)\n\n[Compare Source](https://redirect.github.com/metal3-io/baremetal-operator/compare/v0.12.6...v0.12.7)\n\n<!-- markdownlint-disable no-inline-html line-length -->\n\n### Changes since v0.12.6\n\n#### :bug: Bug Fixes\n\n- Add delete permission to hostupdatepolicies.metal3.io ([#&#8203;3523](https://redirect.github.com/metal3-io/baremetal-operator/issues/3523))\n\n#### :seedling: Others\n\n- Bump the CAPI to v1.12.11 ([#&#8203;3517](https://redirect.github.com/metal3-io/baremetal-operator/issues/3517))\n- Add delete permission for secrets in e2e role ([#&#8203;3515](https://redirect.github.com/metal3-io/baremetal-operator/issues/3515))\n- Bump github.com/go-logr/logr from 1.4.3 to 1.4.4 ([#&#8203;3450](https://redirect.github.com/metal3-io/baremetal-operator/issues/3450))\n- Bump go version to 1.25.13 ([#&#8203;3534](https://redirect.github.com/metal3-io/baremetal-operator/issues/3534))\n- Bump checkout to v7 ([#&#8203;3507](https://redirect.github.com/metal3-io/baremetal-operator/issues/3507))\n- Bump the kubernetes to v0.34.10 ([#&#8203;3449](https://redirect.github.com/metal3-io/baremetal-operator/issues/3449))\n- Pin ironic version to 31.0 in E2E tests for release-0.12 ([#&#8203;3459](https://redirect.github.com/metal3-io/baremetal-operator/issues/3459))\n\nThe image for this release is: v0.12.7\n\n*Thanks to all our contributors!* \ud83d\ude0a\n\n### [`v0.12.6`](http\n\n> [!IMPORTANT]\n> \u2702 PR body was truncated to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\ud83d\udcc5 **Schedule**: (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule defined)\n\n\ud83d\udea6 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n\u267b **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\ud83d\udd15 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/99",
                                            "commit_id": "2ca5e6f0beb9c00d38e6694c31985a9cb3e5161a",
                                            "patchset": "2ca5e6f0beb9c00d38e6694c31985a9cb3e5161a",
                                            "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.posix",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d5699a3fcfca765b32f94b68a592139dc58d0301",
                                            "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/community.crypto",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "051f8716048743eb7b9f9a875d851b97731bbf90",
                                            "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": "b2dd3fc1ed746300cac112b38c9cec2aa7fd7f39",
                                            "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/kubernetes.core",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "ebb0d7f087413013eb27e275c7d638e6838e95c0",
                                            "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-containers",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d22923ebd40c0fd5a345318c1db90d125fb5140f",
                                            "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": "bb3fd0fde58a5b158605523e708645eb2a763886",
                                            "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.common",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "7afe8c7247517a93db21520f5592bc0badccc04f",
                                            "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": "da4a211b2d1dd147dead0e3db63a373b43b3c09e",
                                            "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.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "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 kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "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 openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Resolved kubernetes.core to 6.6.0 for >=2.4.0",
                                "Resolved openstack.cloud to 2.6.0 for >=2.0.0",
                                "Resolved vexxhost.kubernetes to v3.4.0 for >=2.5.0",
                                "Resolved ansible.posix to 2.2.2 for >=1.6.0",
                                "Resolved community.crypto to 3.5.0 for >=2.2.3",
                                "Resolved community.general to 13.5.0 for >=4.5.0",
                                "Skipping community.library_inventory_filtering_v1: no checked-out sibling",
                                "Resolved kubernetes.core to 6.6.0 for >=2.4.0,>=2.3.2",
                                "Resolved vexxhost.containers to v1.6.8 for >=1.6.0",
                                "Checked out ansible.posix to 2.2.2",
                                "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.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:2.2.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:2.2.2 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 pygments (1.2MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading cryptography (4.3MiB)",
                                " Downloading pydantic-core",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 52 packages in 69ms",
                                "Checked out community.crypto to 3.5.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.crypto",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.crypto:3.5.0' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:3.5.0 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:3.5.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out community.general to 13.5.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.5.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:13.5.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:13.5.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out kubernetes.core to 6.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'kubernetes.core:6.6.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:6.6.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:6.6.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out openstack.cloud to 2.6.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.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'",
                                "Created collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud",
                                "openstack.cloud:2.6.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.containers to v1.6.8",
                                "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.8' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'",
                                "Created collection for vexxhost.containers:1.6.8 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers",
                                "vexxhost.containers:1.6.8 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.kubernetes to v3.4.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.4.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'",
                                "Created collection for vexxhost.kubernetes:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes",
                                "vexxhost.kubernetes:3.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                            ],
                            "msg": "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix\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 kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core\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 openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nResolved kubernetes.core to 6.6.0 for >=2.4.0\nResolved openstack.cloud to 2.6.0 for >=2.0.0\nResolved vexxhost.kubernetes to v3.4.0 for >=2.5.0\nResolved ansible.posix to 2.2.2 for >=1.6.0\nResolved community.crypto to 3.5.0 for >=2.2.3\nResolved community.general to 13.5.0 for >=4.5.0\nSkipping community.library_inventory_filtering_v1: no checked-out sibling\nResolved kubernetes.core to 6.6.0 for >=2.4.0,>=2.3.2\nResolved vexxhost.containers to v1.6.8 for >=1.6.0\nChecked out ansible.posix to 2.2.2\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.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:2.2.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:2.2.2 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 pygments (1.2MiB)\nDownloading ansible-core (2.1MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading kubernetes (1.9MiB)\nDownloading cryptography (4.3MiB)\n Downloading pydantic-core\n Downloading cryptography\n Downloading pygments\n Downloading kubernetes\n Downloading ansible-core\nInstalled 52 packages in 69ms\nChecked out community.crypto to 3.5.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.crypto\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.crypto:3.5.0' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:3.5.0 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:3.5.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out community.general to 13.5.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.5.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:13.5.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:13.5.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out kubernetes.core to 6.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'kubernetes.core:6.6.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:6.6.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:6.6.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out openstack.cloud to 2.6.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.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'\nCreated collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud\nopenstack.cloud:2.6.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.containers to v1.6.8\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.8' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'\nCreated collection for vexxhost.containers:1.6.8 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers\nvexxhost.containers:1.6.8 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.kubernetes to v3.4.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.4.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'\nCreated collection for vexxhost.kubernetes:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes\nvexxhost.kubernetes:3.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:08.234134Z",
                            "start": "2026-10-15T15:49:01.011602Z"
                        },
                        "id": "0242ac17-0010-7e6f-b012-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": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere.common/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:49:17.213498Z",
                    "start": "2026-10-15T15:49:09.062126Z"
                },
                "id": "0242ac17-0010-5d31-3a1a-000000000002",
                "name": "Prepare Molecule log collection"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1792079352,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 380 kB of archives.\nAfter this operation, 1127 kB of additional disk space will be used.\nGet:1 http://yul2.clouds.archive.ubuntu.com/ubuntu noble/main amd64 libonig5 amd64 6.9.9-1build1 [172 kB]\nGet:2 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 libjq1 amd64 1.7.1-3ubuntu0.24.04.2 [142 kB]\nGet:3 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 jq amd64 1.7.1-3ubuntu0.24.04.2 [65.7 kB]\nFetched 380 kB in 1s (543 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 31212 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.9-1build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.9-1build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.7.1-3ubuntu0.24.04.2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.7.1-3ubuntu0.24.04.2_amd64.deb ...\r\nUnpacking jq (1.7.1-3ubuntu0.24.04.2) ...\r\nSetting up libonig5:amd64 (6.9.9-1build1) ...\r\nSetting up libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...\r\nSetting up jq (1.7.1-3ubuntu0.24.04.2) ...\r\nProcessing triggers for libc-bin (2.39-0ubuntu8.9) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 380 kB of archives.",
                                "After this operation, 1127 kB of additional disk space will be used.",
                                "Get:1 http://yul2.clouds.archive.ubuntu.com/ubuntu noble/main amd64 libonig5 amd64 6.9.9-1build1 [172 kB]",
                                "Get:2 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 libjq1 amd64 1.7.1-3ubuntu0.24.04.2 [142 kB]",
                                "Get:3 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 jq amd64 1.7.1-3ubuntu0.24.04.2 [65.7 kB]",
                                "Fetched 380 kB in 1s (543 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 31212 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.9-1build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.9-1build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.7.1-3ubuntu0.24.04.2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.7.1-3ubuntu0.24.04.2_amd64.deb ...",
                                "Unpacking jq (1.7.1-3ubuntu0.24.04.2) ...",
                                "Setting up libonig5:amd64 (6.9.9-1build1) ...",
                                "Setting up libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...",
                                "Setting up jq (1.7.1-3ubuntu0.24.04.2) ...",
                                "Processing triggers for libc-bin (2.39-0ubuntu8.9) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:17.213498Z",
                            "start": "2026-10-15T15:49:09.073540Z"
                        },
                        "id": "0242ac17-0010-5d31-3a1a-000000000004",
                        "name": "Install jq for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:52:12.985945Z",
                    "start": "2026-10-15T15:49:17.983056Z"
                },
                "id": "0242ac17-0010-8db9-55a2-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.stat",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere.common"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere.common",
                                    "stat": {
                                        "atime": 1792079335.057157,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1792079341.8010688,
                                        "dev": 64769,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1040130,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1792079341.8010688,
                                        "nlink": 11,
                                        "path": "src/github.com/vexxhost/atmosphere.common",
                                        "pw_name": "zuul",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 4096,
                                        "uid": 1000,
                                        "version": "52023404",
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": true,
                                        "xoth": true,
                                        "xusr": true
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:18.781707Z",
                            "start": "2026-10-15T15:49:17.995173Z"
                        },
                        "id": "0242ac17-0010-8db9-55a2-000000000004",
                        "name": "Check inventory directories"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "checksum": "dd1d8782290b9cab01d66f39aec0334ab94ea96f",
                                    "dest": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "inventory.yaml",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "dd1d8782290b9cab01d66f39aec0334ab94ea96f",
                                            "content": null,
                                            "dest": "src/github.com/vexxhost/atmosphere.common",
                                            "directory_mode": null,
                                            "follow": false,
                                            "force": true,
                                            "group": null,
                                            "local_follow": null,
                                            "mode": "0644",
                                            "owner": null,
                                            "remote_src": null,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1792079358.8721504-9-239800385293778/source",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common",
                                        "stat": {
                                            "atime": 1792079335.057157,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1792079341.8010688,
                                            "dev": 64769,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1040130,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1792079341.8010688,
                                            "nlink": 11,
                                            "path": "src/github.com/vexxhost/atmosphere.common",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "52023404",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "0f230afb8f763971b3d3aa2c869ad289",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 349919,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1792079358.8721504-9-239800385293778/source",
                                    "state": "file",
                                    "uid": 1000
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:19.839900Z",
                            "start": "2026-10-15T15:49:18.788265Z"
                        },
                        "id": "0242ac17-0010-8db9-55a2-000000000005",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "src/github.com/vexxhost/atmosphere.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
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common",
                                        "stat": {
                                            "atime": 1792079335.057157,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1792079341.8010688,
                                            "dev": 64769,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1040130,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1792079341.8010688,
                                            "nlink": 11,
                                            "path": "src/github.com/vexxhost/atmosphere.common",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "52023404",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:49:20.321140Z",
                            "start": "2026-10-15T15:49:19.851006Z"
                        },
                        "id": "0242ac17-0010-8db9-55a2-000000000006",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "secretgen-controller"
                            ],
                            "delta": "0:02:51.876842",
                            "end": "2026-10-15 15:52:12.615569",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s secretgen-controller",
                                    "_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-8db9-55a2-000000000007-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:49:20.738727",
                            "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     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...\nINFO     [secretgen-controller > dependency] Executing\nWARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml\nWARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml\nWARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nINFO     [secretgen-controller > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml\nINFO     [secretgen-controller > syntax] Executed: Successful\nINFO     [secretgen-controller > create] Executing\nWARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 15 October 2026  15:49:30 +0000 (0:00:00.032)       0:00:00.032 ******\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] *************************************************\nThursday 15 October 2026  15:49:31 +0000 (0:00:01.345)       0:00:01.377 ******\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 15 October 2026  15:49:33 +0000 (0:00:02.098)       0:00:03.475 ******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nThursday 15 October 2026  15:49:34 +0000 (0:00:00.849)       0:00:04.325 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nThursday 15 October 2026  15:49:34 +0000 (0:00:00.378)       0:00:04.703 ******\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] ****\nThursday 15 October 2026  15:49:35 +0000 (0:00:01.224)       0:00:05.927 ******\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] *********\nThursday 15 October 2026  15:49:36 +0000 (0:00:00.808)       0:00:06.736 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nThursday 15 October 2026  15:49:37 +0000 (0:00:00.351)       0:00:07.087 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nThursday 15 October 2026  15:49:37 +0000 (0:00:00.239)       0:00:07.326 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nThursday 15 October 2026  15:49:37 +0000 (0:00:00.039)       0:00:07.366 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nThursday 15 October 2026  15:49:37 +0000 (0:00:00.051)       0:00:07.417 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nThursday 15 October 2026  15:49:38 +0000 (0:00:00.872)       0:00:08.289 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nThursday 15 October 2026  15:49:38 +0000 (0:00:00.242)       0:00:08.532 ******\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 15 October 2026  15:49:38 +0000 (0:00:00.065)       0:00:08.597 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:49:39 +0000 (0:00:00.832)       0:00:09.429 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 15 October 2026  15:49:39 +0000 (0:00:00.279)       0:00:09.709 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 15 October 2026  15:49:39 +0000 (0:00:00.047)       0:00:09.757 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:49:40 +0000 (0:00:00.291)       0:00:10.048 ******\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] *******************\nThursday 15 October 2026  15:49:40 +0000 (0:00:00.095)       0:00:10.144 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:49:41 +0000 (0:00:00.841)       0:00:10.985 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:49:41 +0000 (0:00:00.052)       0:00:11.038 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 15 October 2026  15:49:41 +0000 (0:00:00.245)       0:00:11.283 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:49:42 +0000 (0:00:00.944)       0:00:12.228 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 15 October 2026  15:49:42 +0000 (0:00:00.119)       0:00:12.347 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:49:43 +0000 (0:00:00.955)       0:00:13.303 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 15 October 2026  15:49:46 +0000 (0:00:02.945)       0:00:16.249 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 15 October 2026  15:49:46 +0000 (0:00:00.040)       0:00:16.289 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 15 October 2026  15:49:46 +0000 (0:00:00.075)       0:00:16.364 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 15 October 2026  15:49:46 +0000 (0:00:00.044)       0:00:16.409 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 15 October 2026  15:49:54 +0000 (0:00:07.723)       0:00:24.133 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 15 October 2026  15:49:54 +0000 (0:00:00.638)       0:00:24.771 ******\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] **********\nThursday 15 October 2026  15:49:56 +0000 (0:00:01.250)       0:00:26.022 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 15 October 2026  15:49:56 +0000 (0:00:00.689)       0:00:26.712 ******\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nThursday 15 October 2026  15:49:56 +0000 (0:00:00.010)       0:00:26.723 ******\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nThursday 15 October 2026  15:49:57 +0000 (0:00:00.822)       0:00:27.545 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 15 October 2026  15:49:58 +0000 (0:00:00.897)       0:00:28.443 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nThursday 15 October 2026  15:49:59 +0000 (0:00:00.704)       0:00:29.147 ******\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000195846's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nThursday 15 October 2026  15:49:59 +0000 (0:00:00.617)       0:00:29.764 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nThursday 15 October 2026  15:49:59 +0000 (0:00:00.046)       0:00:29.810 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nThursday 15 October 2026  15:49:59 +0000 (0:00:00.045)       0:00:29.856 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nThursday 15 October 2026  15:49:59 +0000 (0:00:00.049)       0:00:29.905 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nThursday 15 October 2026  15:49:59 +0000 (0:00:00.050)       0:00:29.956 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:50:00 +0000 (0:00:00.056)       0:00:30.012 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:50:00 +0000 (0:00:00.307)       0:00:30.320 ******\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] *******************\nThursday 15 October 2026  15:50:00 +0000 (0:00:00.054)       0:00:30.374 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:50:01 +0000 (0:00:01.008)       0:00:31.383 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:50:01 +0000 (0:00:00.052)       0:00:31.435 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:50:01 +0000 (0:00:00.286)       0:00:31.722 ******\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] *******************\nThursday 15 October 2026  15:50:01 +0000 (0:00:00.061)       0:00:31.783 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:50:02 +0000 (0:00:00.934)       0:00:32.718 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nThursday 15 October 2026  15:50:02 +0000 (0:00:00.064)       0:00:32.783 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nThursday 15 October 2026  15:50:02 +0000 (0:00:00.041)       0:00:32.824 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nThursday 15 October 2026  15:50:02 +0000 (0:00:00.047)       0:00:32.872 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nThursday 15 October 2026  15:50:02 +0000 (0:00:00.046)       0:00:32.918 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nThursday 15 October 2026  15:50:03 +0000 (0:00:00.998)       0:00:33.917 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nThursday 15 October 2026  15:50:04 +0000 (0:00:00.599)       0:00:34.516 ******\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] **********\nThursday 15 October 2026  15:50:05 +0000 (0:00:01.192)       0:00:35.709 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nThursday 15 October 2026  15:50:06 +0000 (0:00:00.663)       0:00:36.372 ******\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nThursday 15 October 2026  15:50:06 +0000 (0:00:00.004)       0:00:36.377 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:50:06 +0000 (0:00:00.463)       0:00:36.840 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:50:07 +0000 (0:00:00.286)       0:00:37.127 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/crictl-v1.36.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 15 October 2026  15:50:07 +0000 (0:00:00.084)       0:00:37.211 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:50:07 +0000 (0:00:00.738)       0:00:37.950 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:50:09 +0000 (0:00:01.550)       0:00:39.501 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/critest-v1.36.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nThursday 15 October 2026  15:50:09 +0000 (0:00:00.072)       0:00:39.574 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:50:10 +0000 (0:00:00.823)       0:00:40.397 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nThursday 15 October 2026  15:50:12 +0000 (0:00:01.641)       0:00:42.038 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nThursday 15 October 2026  15:50:12 +0000 (0:00:00.546)       0:00:42.584 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:50:12 +0000 (0:00:00.292)       0:00:42.877 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:50:13 +0000 (0:00:00.264)       0:00:43.141 ******\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] *******************\nThursday 15 October 2026  15:50:13 +0000 (0:00:00.081)       0:00:43.222 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:50:14 +0000 (0:00:01.008)       0:00:44.231 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nThursday 15 October 2026  15:50:17 +0000 (0:00:03.027)       0:00:47.258 ******\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] ***********\nThursday 15 October 2026  15:50:17 +0000 (0:00:00.060)       0:00:47.319 ******\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nThursday 15 October 2026  15:50:18 +0000 (0:00:00.904)       0:00:48.223 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nThursday 15 October 2026  15:50:18 +0000 (0:00:00.349)       0:00:48.573 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nThursday 15 October 2026  15:50:19 +0000 (0:00:00.639)       0:00:49.212 ******\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] *********************\nThursday 15 October 2026  15:50:20 +0000 (0:00:01.176)       0:00:50.389 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:50:20 +0000 (0:00:00.272)       0:00:50.662 ******\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] *******************\nThursday 15 October 2026  15:50:20 +0000 (0:00:00.036)       0:00:50.698 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:50:21 +0000 (0:00:01.210)       0:00:51.908 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nThursday 15 October 2026  15:50:21 +0000 (0:00:00.047)       0:00:51.956 ******\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nThursday 15 October 2026  15:50:22 +0000 (0:00:00.059)       0:00:52.015 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nThursday 15 October 2026  15:50:22 +0000 (0:00:00.032)       0:00:52.048 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nThursday 15 October 2026  15:50:26 +0000 (0:00:03.969)       0:00:56.018 ******\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] ***\nThursday 15 October 2026  15:50:27 +0000 (0:00:01.637)       0:00:57.655 ******\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] ********\nThursday 15 October 2026  15:50:28 +0000 (0:00:00.685)       0:00:58.340 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nThursday 15 October 2026  15:50:28 +0000 (0:00:00.606)       0:00:58.947 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nThursday 15 October 2026  15:50:29 +0000 (0:00:00.613)       0:00:59.560 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nThursday 15 October 2026  15:50:29 +0000 (0:00:00.365)       0:00:59.925 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nThursday 15 October 2026  15:50:29 +0000 (0:00:00.031)       0:00:59.957 ******\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nThursday 15 October 2026  15:50:30 +0000 (0:00:00.631)       0:01:00.589 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nThursday 15 October 2026  15:50:31 +0000 (0:00:00.565)       0:01:01.154 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nThursday 15 October 2026  15:50:31 +0000 (0:00:00.768)       0:01:01.923 ******\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nThursday 15 October 2026  15:50:31 +0000 (0:00:00.011)       0:01:01.934 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nThursday 15 October 2026  15:50:32 +0000 (0:00:00.879)       0:01:02.814 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nThursday 15 October 2026  15:50:33 +0000 (0:00:00.669)       0:01:03.483 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nThursday 15 October 2026  15:50:34 +0000 (0:00:00.891)       0:01:04.375 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nThursday 15 October 2026  15:50:35 +0000 (0:00:01.282)       0:01:05.657 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nThursday 15 October 2026  15:50:36 +0000 (0:00:00.383)       0:01:06.040 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nThursday 15 October 2026  15:50:36 +0000 (0:00:00.554)       0:01:06.595 ******\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nThursday 15 October 2026  15:50:36 +0000 (0:00:00.067)       0:01:06.663 ******\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] ***\nThursday 15 October 2026  15:50:36 +0000 (0:00:00.067)       0:01:06.731 ******\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nThursday 15 October 2026  15:50:37 +0000 (0:00:00.310)       0:01:07.041 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nThursday 15 October 2026  15:50:37 +0000 (0:00:00.070)       0:01:07.111 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nThursday 15 October 2026  15:50:37 +0000 (0:00:00.075)       0:01:07.187 ******\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nThursday 15 October 2026  15:50:37 +0000 (0:00:00.050)       0:01:07.237 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nThursday 15 October 2026  15:50:37 +0000 (0:00:00.691)       0:01:07.929 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nThursday 15 October 2026  15:50:37 +0000 (0:00:00.044)       0:01:07.973 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nThursday 15 October 2026  15:50:38 +0000 (0:00:00.045)       0:01:08.019 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nThursday 15 October 2026  15:50:38 +0000 (0:00:00.044)       0:01:08.063 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nThursday 15 October 2026  15:50:38 +0000 (0:00:00.041)       0:01:08.104 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nThursday 15 October 2026  15:50:38 +0000 (0:00:00.036)       0:01:08.141 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nThursday 15 October 2026  15:50:38 +0000 (0:00:00.037)       0:01:08.179 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nThursday 15 October 2026  15:50:38 +0000 (0:00:00.034)       0:01:08.214 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nThursday 15 October 2026  15:51:04 +0000 (0:00:26.224)       0:01:34.438 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nThursday 15 October 2026  15:51:04 +0000 (0:00:00.287)       0:01:34.726 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nThursday 15 October 2026  15:51:04 +0000 (0:00:00.030)       0:01:34.756 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nThursday 15 October 2026  15:51:05 +0000 (0:00:00.271)       0:01:35.027 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nThursday 15 October 2026  15:51:05 +0000 (0:00:00.275)       0:01:35.302 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nThursday 15 October 2026  15:51:05 +0000 (0:00:00.370)       0:01:35.673 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nThursday 15 October 2026  15:51:05 +0000 (0:00:00.050)       0:01:35.723 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nThursday 15 October 2026  15:51:05 +0000 (0:00:00.042)       0:01:35.765 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nThursday 15 October 2026  15:51:05 +0000 (0:00:00.045)       0:01:35.811 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nThursday 15 October 2026  15:51:13 +0000 (0:00:07.919)       0:01:43.731 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nThursday 15 October 2026  15:51:14 +0000 (0:00:00.887)       0:01:44.618 ******\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nThursday 15 October 2026  15:51:14 +0000 (0:00:00.040)       0:01:44.659 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nThursday 15 October 2026  15:51:14 +0000 (0:00:00.030)       0:01:44.689 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nThursday 15 October 2026  15:51:14 +0000 (0:00:00.034)       0:01:44.724 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nThursday 15 October 2026  15:51:14 +0000 (0:00:00.035)       0:01:44.759 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nThursday 15 October 2026  15:51:14 +0000 (0:00:00.028)       0:01:44.788 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nThursday 15 October 2026  15:51:15 +0000 (0:00:00.472)       0:01:45.260 ******\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 15 October 2026  15:51:16 +0000 (0:00:01.144)       0:01:46.405 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nThursday 15 October 2026  15:51:17 +0000 (0:00:00.895)       0:01:47.300 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nThursday 15 October 2026  15:51:17 +0000 (0:00:00.280)       0:01:47.581 ******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nThursday 15 October 2026  15:51:18 +0000 (0:00:01.022)       0:01:48.604 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:51:18 +0000 (0:00:00.288)       0:01:48.892 ******\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] *******************\nThursday 15 October 2026  15:51:18 +0000 (0:00:00.031)       0:01:48.924 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:51:20 +0000 (0:00:01.540)       0:01:50.465 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nThursday 15 October 2026  15:51:23 +0000 (0:00:02.841)       0:01:53.306 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nThursday 15 October 2026  15:51:23 +0000 (0:00:00.413)       0:01:53.719 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nThursday 15 October 2026  15:51:24 +0000 (0:00:00.276)       0:01:53.996 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nThursday 15 October 2026  15:51:24 +0000 (0:00:00.370)       0:01:54.366 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nThursday 15 October 2026  15:51:24 +0000 (0:00:00.336)       0:01:54.702 ******\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nThursday 15 October 2026  15:51:25 +0000 (0:00:00.281)       0:01:54.984 ******\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nThursday 15 October 2026  15:51:25 +0000 (0:00:00.046)       0:01:55.031 ******\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] *******************\nThursday 15 October 2026  15:51:25 +0000 (0:00:00.055)       0:01:55.086 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nThursday 15 October 2026  15:51:26 +0000 (0:00:01.109)       0:01:56.195 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 15 October 2026  15:51:28 +0000 (0:00:02.012)       0:01:58.207 ******\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] ***************\nThursday 15 October 2026  15:51:28 +0000 (0:00:00.041)       0:01:58.248 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nThursday 15 October 2026  15:51:29 +0000 (0:00:00.738)       0:01:58.987 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nThursday 15 October 2026  15:51:29 +0000 (0:00:00.804)       0:01:59.791 ******\n[DEPRECATION WARNING]: The 'status.values' return value is deprecated and will\nbe removed in version 8.0.0. Use 'status.release_values' instead. This feature\nwill be removed from kubernetes.core in version 8.0.0. Deprecation warnings can\n be disabled by setting deprecation_warnings=False in ansible.cfg.\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nThursday 15 October 2026  15:51:32 +0000 (0:00:02.395)       0:02:02.187 ******\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] ***************\nThursday 15 October 2026  15:51:32 +0000 (0:00:00.032)       0:02:02.219 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************\nThursday 15 October 2026  15:51:32 +0000 (0:00:00.588)       0:02:02.807 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************\nThursday 15 October 2026  15:52:02 +0000 (0:00:29.775)       0:02:32.583 ******\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=117  changed=54   unreachable=0    failed=0    skipped=35   rescued=0    ignored=2\n\n\nTASKS RECAP ********************************************************************\nThursday 15 October 2026  15:52:03 +0000 (0:00:00.754)       0:02:33.337 ******\n===============================================================================\nvexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 29.78s\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 26.22s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 7.92s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 7.72s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.97s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.03s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.95s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.84s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.40s\nInstall Debian packages ------------------------------------------------- 2.10s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.01s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.78s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.64s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.64s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.55s\nvexxhost.containers.download_artifact : Download item ------------------- 1.54s\nGathering Facts --------------------------------------------------------- 1.35s\nvexxhost.kubernetes.kubelet : Configure short hostname ------------------ 1.28s\nvexxhost.containers.containerd : Create folders for configuration ------- 1.25s\nvexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.22s\nINFO     [secretgen-controller > prepare] Executed: Successful\nINFO     [secretgen-controller > converge] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nThursday 15 October 2026  15:52:04 +0000 (0:00:00.035)       0:00:00.035 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\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.\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 15 October 2026  15:52:05 +0000 (0:00:01.348)       0:00:01.384 ******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.35s\nINFO     [secretgen-controller > converge] Executed: Successful\nINFO     [secretgen-controller > idempotence] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nThursday 15 October 2026  15:52:06 +0000 (0:00:00.036)       0:00:00.036 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\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\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 15 October 2026  15:52:07 +0000 (0:00:01.329)       0:00:01.365 ******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.33s\nINFO     [secretgen-controller > idempotence] Executed: Successful\nINFO     [secretgen-controller > side_effect] Executing\nWARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > verify] Executing\n\nPLAY [Verify] ******************************************************************\n\nTASK [Gathering Facts] *********************************************************\nThursday 15 October 2026  15:52:08 +0000 (0:00:00.030)       0:00:00.030 ******\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 [Wait for secretgen-controller deployment to be available] ****************\nThursday 15 October 2026  15:52:09 +0000 (0:00:01.337)       0:00:01.367 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\nok: [controller]\n\nTASK [Create a test Password resource] *****************************************\nThursday 15 October 2026  15:52:10 +0000 (0:00:00.849)       0:00:02.217 ******\nchanged: [controller]\n\nTASK [Wait for test-password secret to be generated] ***************************\nThursday 15 October 2026  15:52:11 +0000 (0:00:00.931)       0:00:03.149 ******\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nThursday 15 October 2026  15:52:12 +0000 (0:00:00.794)       0:00:03.944 ******\n===============================================================================\nGathering Facts --------------------------------------------------------- 1.34s\nCreate a test Password resource ----------------------------------------- 0.93s\nWait for secretgen-controller deployment to be available ---------------- 0.85s\nWait for test-password secret to be generated --------------------------- 0.79s\nINFO     [secretgen-controller > verify] Executed: Successful\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nWARNING  Molecule executed 1 scenario (1 missing files)",
                            "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     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [secretgen-controller > dependency] Executing",
                                "WARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "INFO     [secretgen-controller > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml",
                                "INFO     [secretgen-controller > syntax] Executed: Successful",
                                "INFO     [secretgen-controller > create] Executing",
                                "WARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 15 October 2026  15:49:30 +0000 (0:00:00.032)       0:00:00.032 ******",
                                "[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] *************************************************",
                                "Thursday 15 October 2026  15:49:31 +0000 (0:00:01.345)       0:00:01.377 ******",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 15 October 2026  15:49:33 +0000 (0:00:02.098)       0:00:03.475 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Thursday 15 October 2026  15:49:34 +0000 (0:00:00.849)       0:00:04.325 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Thursday 15 October 2026  15:49:34 +0000 (0:00:00.378)       0:00:04.703 ******",
                                "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] ****",
                                "Thursday 15 October 2026  15:49:35 +0000 (0:00:01.224)       0:00:05.927 ******",
                                "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] *********",
                                "Thursday 15 October 2026  15:49:36 +0000 (0:00:00.808)       0:00:06.736 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Thursday 15 October 2026  15:49:37 +0000 (0:00:00.351)       0:00:07.087 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Thursday 15 October 2026  15:49:37 +0000 (0:00:00.239)       0:00:07.326 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Thursday 15 October 2026  15:49:37 +0000 (0:00:00.039)       0:00:07.366 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Thursday 15 October 2026  15:49:37 +0000 (0:00:00.051)       0:00:07.417 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Thursday 15 October 2026  15:49:38 +0000 (0:00:00.872)       0:00:08.289 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Thursday 15 October 2026  15:49:38 +0000 (0:00:00.242)       0:00:08.532 ******",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 15 October 2026  15:49:38 +0000 (0:00:00.065)       0:00:08.597 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:49:39 +0000 (0:00:00.832)       0:00:09.429 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 15 October 2026  15:49:39 +0000 (0:00:00.279)       0:00:09.709 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 15 October 2026  15:49:39 +0000 (0:00:00.047)       0:00:09.757 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:49:40 +0000 (0:00:00.291)       0:00:10.048 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:49:40 +0000 (0:00:00.095)       0:00:10.144 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:49:41 +0000 (0:00:00.841)       0:00:10.985 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:49:41 +0000 (0:00:00.052)       0:00:11.038 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 15 October 2026  15:49:41 +0000 (0:00:00.245)       0:00:11.283 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:49:42 +0000 (0:00:00.944)       0:00:12.228 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:49:42 +0000 (0:00:00.119)       0:00:12.347 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:49:43 +0000 (0:00:00.955)       0:00:13.303 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 15 October 2026  15:49:46 +0000 (0:00:02.945)       0:00:16.249 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 15 October 2026  15:49:46 +0000 (0:00:00.040)       0:00:16.289 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 15 October 2026  15:49:46 +0000 (0:00:00.075)       0:00:16.364 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 15 October 2026  15:49:46 +0000 (0:00:00.044)       0:00:16.409 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 15 October 2026  15:49:54 +0000 (0:00:07.723)       0:00:24.133 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 15 October 2026  15:49:54 +0000 (0:00:00.638)       0:00:24.771 ******",
                                "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] **********",
                                "Thursday 15 October 2026  15:49:56 +0000 (0:00:01.250)       0:00:26.022 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 15 October 2026  15:49:56 +0000 (0:00:00.689)       0:00:26.712 ******",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Thursday 15 October 2026  15:49:56 +0000 (0:00:00.010)       0:00:26.723 ******",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Thursday 15 October 2026  15:49:57 +0000 (0:00:00.822)       0:00:27.545 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 15 October 2026  15:49:58 +0000 (0:00:00.897)       0:00:28.443 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Thursday 15 October 2026  15:49:59 +0000 (0:00:00.704)       0:00:29.147 ******",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000195846's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Thursday 15 October 2026  15:49:59 +0000 (0:00:00.617)       0:00:29.764 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Thursday 15 October 2026  15:49:59 +0000 (0:00:00.046)       0:00:29.810 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Thursday 15 October 2026  15:49:59 +0000 (0:00:00.045)       0:00:29.856 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Thursday 15 October 2026  15:49:59 +0000 (0:00:00.049)       0:00:29.905 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Thursday 15 October 2026  15:49:59 +0000 (0:00:00.050)       0:00:29.956 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:50:00 +0000 (0:00:00.056)       0:00:30.012 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:50:00 +0000 (0:00:00.307)       0:00:30.320 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:50:00 +0000 (0:00:00.054)       0:00:30.374 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:50:01 +0000 (0:00:01.008)       0:00:31.383 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:50:01 +0000 (0:00:00.052)       0:00:31.435 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:50:01 +0000 (0:00:00.286)       0:00:31.722 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:50:01 +0000 (0:00:00.061)       0:00:31.783 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:50:02 +0000 (0:00:00.934)       0:00:32.718 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Thursday 15 October 2026  15:50:02 +0000 (0:00:00.064)       0:00:32.783 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Thursday 15 October 2026  15:50:02 +0000 (0:00:00.041)       0:00:32.824 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Thursday 15 October 2026  15:50:02 +0000 (0:00:00.047)       0:00:32.872 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Thursday 15 October 2026  15:50:02 +0000 (0:00:00.046)       0:00:32.918 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Thursday 15 October 2026  15:50:03 +0000 (0:00:00.998)       0:00:33.917 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Thursday 15 October 2026  15:50:04 +0000 (0:00:00.599)       0:00:34.516 ******",
                                "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] **********",
                                "Thursday 15 October 2026  15:50:05 +0000 (0:00:01.192)       0:00:35.709 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Thursday 15 October 2026  15:50:06 +0000 (0:00:00.663)       0:00:36.372 ******",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Thursday 15 October 2026  15:50:06 +0000 (0:00:00.004)       0:00:36.377 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:50:06 +0000 (0:00:00.463)       0:00:36.840 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:50:07 +0000 (0:00:00.286)       0:00:37.127 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/crictl-v1.36.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:50:07 +0000 (0:00:00.084)       0:00:37.211 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:50:07 +0000 (0:00:00.738)       0:00:37.950 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:50:09 +0000 (0:00:01.550)       0:00:39.501 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/critest-v1.36.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:50:09 +0000 (0:00:00.072)       0:00:39.574 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:50:10 +0000 (0:00:00.823)       0:00:40.397 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Thursday 15 October 2026  15:50:12 +0000 (0:00:01.641)       0:00:42.038 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Thursday 15 October 2026  15:50:12 +0000 (0:00:00.546)       0:00:42.584 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:50:12 +0000 (0:00:00.292)       0:00:42.877 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:50:13 +0000 (0:00:00.264)       0:00:43.141 ******",
                                "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] *******************",
                                "Thursday 15 October 2026  15:50:13 +0000 (0:00:00.081)       0:00:43.222 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:50:14 +0000 (0:00:01.008)       0:00:44.231 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Thursday 15 October 2026  15:50:17 +0000 (0:00:03.027)       0:00:47.258 ******",
                                "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] ***********",
                                "Thursday 15 October 2026  15:50:17 +0000 (0:00:00.060)       0:00:47.319 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Thursday 15 October 2026  15:50:18 +0000 (0:00:00.904)       0:00:48.223 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Thursday 15 October 2026  15:50:18 +0000 (0:00:00.349)       0:00:48.573 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Thursday 15 October 2026  15:50:19 +0000 (0:00:00.639)       0:00:49.212 ******",
                                "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] *********************",
                                "Thursday 15 October 2026  15:50:20 +0000 (0:00:01.176)       0:00:50.389 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:50:20 +0000 (0:00:00.272)       0:00:50.662 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:50:20 +0000 (0:00:00.036)       0:00:50.698 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:50:21 +0000 (0:00:01.210)       0:00:51.908 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Thursday 15 October 2026  15:50:21 +0000 (0:00:00.047)       0:00:51.956 ******",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Thursday 15 October 2026  15:50:22 +0000 (0:00:00.059)       0:00:52.015 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Thursday 15 October 2026  15:50:22 +0000 (0:00:00.032)       0:00:52.048 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Thursday 15 October 2026  15:50:26 +0000 (0:00:03.969)       0:00:56.018 ******",
                                "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] ***",
                                "Thursday 15 October 2026  15:50:27 +0000 (0:00:01.637)       0:00:57.655 ******",
                                "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] ********",
                                "Thursday 15 October 2026  15:50:28 +0000 (0:00:00.685)       0:00:58.340 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Thursday 15 October 2026  15:50:28 +0000 (0:00:00.606)       0:00:58.947 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Thursday 15 October 2026  15:50:29 +0000 (0:00:00.613)       0:00:59.560 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Thursday 15 October 2026  15:50:29 +0000 (0:00:00.365)       0:00:59.925 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Thursday 15 October 2026  15:50:29 +0000 (0:00:00.031)       0:00:59.957 ******",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Thursday 15 October 2026  15:50:30 +0000 (0:00:00.631)       0:01:00.589 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Thursday 15 October 2026  15:50:31 +0000 (0:00:00.565)       0:01:01.154 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Thursday 15 October 2026  15:50:31 +0000 (0:00:00.768)       0:01:01.923 ******",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Thursday 15 October 2026  15:50:31 +0000 (0:00:00.011)       0:01:01.934 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Thursday 15 October 2026  15:50:32 +0000 (0:00:00.879)       0:01:02.814 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Thursday 15 October 2026  15:50:33 +0000 (0:00:00.669)       0:01:03.483 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Thursday 15 October 2026  15:50:34 +0000 (0:00:00.891)       0:01:04.375 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Thursday 15 October 2026  15:50:35 +0000 (0:00:01.282)       0:01:05.657 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Thursday 15 October 2026  15:50:36 +0000 (0:00:00.383)       0:01:06.040 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Thursday 15 October 2026  15:50:36 +0000 (0:00:00.554)       0:01:06.595 ******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Thursday 15 October 2026  15:50:36 +0000 (0:00:00.067)       0:01:06.663 ******",
                                "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] ***",
                                "Thursday 15 October 2026  15:50:36 +0000 (0:00:00.067)       0:01:06.731 ******",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Thursday 15 October 2026  15:50:37 +0000 (0:00:00.310)       0:01:07.041 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Thursday 15 October 2026  15:50:37 +0000 (0:00:00.070)       0:01:07.111 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Thursday 15 October 2026  15:50:37 +0000 (0:00:00.075)       0:01:07.187 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Thursday 15 October 2026  15:50:37 +0000 (0:00:00.050)       0:01:07.237 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Thursday 15 October 2026  15:50:37 +0000 (0:00:00.691)       0:01:07.929 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Thursday 15 October 2026  15:50:37 +0000 (0:00:00.044)       0:01:07.973 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Thursday 15 October 2026  15:50:38 +0000 (0:00:00.045)       0:01:08.019 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Thursday 15 October 2026  15:50:38 +0000 (0:00:00.044)       0:01:08.063 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Thursday 15 October 2026  15:50:38 +0000 (0:00:00.041)       0:01:08.104 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Thursday 15 October 2026  15:50:38 +0000 (0:00:00.036)       0:01:08.141 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Thursday 15 October 2026  15:50:38 +0000 (0:00:00.037)       0:01:08.179 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Thursday 15 October 2026  15:50:38 +0000 (0:00:00.034)       0:01:08.214 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Thursday 15 October 2026  15:51:04 +0000 (0:00:26.224)       0:01:34.438 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Thursday 15 October 2026  15:51:04 +0000 (0:00:00.287)       0:01:34.726 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Thursday 15 October 2026  15:51:04 +0000 (0:00:00.030)       0:01:34.756 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Thursday 15 October 2026  15:51:05 +0000 (0:00:00.271)       0:01:35.027 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Thursday 15 October 2026  15:51:05 +0000 (0:00:00.275)       0:01:35.302 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Thursday 15 October 2026  15:51:05 +0000 (0:00:00.370)       0:01:35.673 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Thursday 15 October 2026  15:51:05 +0000 (0:00:00.050)       0:01:35.723 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Thursday 15 October 2026  15:51:05 +0000 (0:00:00.042)       0:01:35.765 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Thursday 15 October 2026  15:51:05 +0000 (0:00:00.045)       0:01:35.811 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Thursday 15 October 2026  15:51:13 +0000 (0:00:07.919)       0:01:43.731 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Thursday 15 October 2026  15:51:14 +0000 (0:00:00.887)       0:01:44.618 ******",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Thursday 15 October 2026  15:51:14 +0000 (0:00:00.040)       0:01:44.659 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Thursday 15 October 2026  15:51:14 +0000 (0:00:00.030)       0:01:44.689 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Thursday 15 October 2026  15:51:14 +0000 (0:00:00.034)       0:01:44.724 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Thursday 15 October 2026  15:51:14 +0000 (0:00:00.035)       0:01:44.759 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Thursday 15 October 2026  15:51:14 +0000 (0:00:00.028)       0:01:44.788 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Thursday 15 October 2026  15:51:15 +0000 (0:00:00.472)       0:01:45.260 ******",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 15 October 2026  15:51:16 +0000 (0:00:01.144)       0:01:46.405 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Thursday 15 October 2026  15:51:17 +0000 (0:00:00.895)       0:01:47.300 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Thursday 15 October 2026  15:51:17 +0000 (0:00:00.280)       0:01:47.581 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Thursday 15 October 2026  15:51:18 +0000 (0:00:01.022)       0:01:48.604 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:51:18 +0000 (0:00:00.288)       0:01:48.892 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Thursday 15 October 2026  15:51:18 +0000 (0:00:00.031)       0:01:48.924 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:51:20 +0000 (0:00:01.540)       0:01:50.465 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Thursday 15 October 2026  15:51:23 +0000 (0:00:02.841)       0:01:53.306 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Thursday 15 October 2026  15:51:23 +0000 (0:00:00.413)       0:01:53.719 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Thursday 15 October 2026  15:51:24 +0000 (0:00:00.276)       0:01:53.996 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Thursday 15 October 2026  15:51:24 +0000 (0:00:00.370)       0:01:54.366 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Thursday 15 October 2026  15:51:24 +0000 (0:00:00.336)       0:01:54.702 ******",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Thursday 15 October 2026  15:51:25 +0000 (0:00:00.281)       0:01:54.984 ******",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Thursday 15 October 2026  15:51:25 +0000 (0:00:00.046)       0:01:55.031 ******",
                                "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] *******************",
                                "Thursday 15 October 2026  15:51:25 +0000 (0:00:00.055)       0:01:55.086 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Thursday 15 October 2026  15:51:26 +0000 (0:00:01.109)       0:01:56.195 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 15 October 2026  15:51:28 +0000 (0:00:02.012)       0:01:58.207 ******",
                                "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] ***************",
                                "Thursday 15 October 2026  15:51:28 +0000 (0:00:00.041)       0:01:58.248 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Thursday 15 October 2026  15:51:29 +0000 (0:00:00.738)       0:01:58.987 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Thursday 15 October 2026  15:51:29 +0000 (0:00:00.804)       0:01:59.791 ******",
                                "[DEPRECATION WARNING]: The 'status.values' return value is deprecated and will",
                                "be removed in version 8.0.0. Use 'status.release_values' instead. This feature",
                                "will be removed from kubernetes.core in version 8.0.0. Deprecation warnings can",
                                " be disabled by setting deprecation_warnings=False in ansible.cfg.",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Thursday 15 October 2026  15:51:32 +0000 (0:00:02.395)       0:02:02.187 ******",
                                "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] ***************",
                                "Thursday 15 October 2026  15:51:32 +0000 (0:00:00.032)       0:02:02.219 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************",
                                "Thursday 15 October 2026  15:51:32 +0000 (0:00:00.588)       0:02:02.807 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************",
                                "Thursday 15 October 2026  15:52:02 +0000 (0:00:29.775)       0:02:32.583 ******",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=117  changed=54   unreachable=0    failed=0    skipped=35   rescued=0    ignored=2",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 15 October 2026  15:52:03 +0000 (0:00:00.754)       0:02:33.337 ******",
                                "===============================================================================",
                                "vexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 29.78s",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 26.22s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 7.92s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 7.72s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.97s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.03s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.95s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.84s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.40s",
                                "Install Debian packages ------------------------------------------------- 2.10s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.01s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.78s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.64s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.64s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.55s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 1.54s",
                                "Gathering Facts --------------------------------------------------------- 1.35s",
                                "vexxhost.kubernetes.kubelet : Configure short hostname ------------------ 1.28s",
                                "vexxhost.containers.containerd : Create folders for configuration ------- 1.25s",
                                "vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 1.22s",
                                "INFO     [secretgen-controller > prepare] Executed: Successful",
                                "INFO     [secretgen-controller > converge] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Thursday 15 October 2026  15:52:04 +0000 (0:00:00.035)       0:00:00.035 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "[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.",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 15 October 2026  15:52:05 +0000 (0:00:01.348)       0:00:01.384 ******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.35s",
                                "INFO     [secretgen-controller > converge] Executed: Successful",
                                "INFO     [secretgen-controller > idempotence] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Thursday 15 October 2026  15:52:06 +0000 (0:00:00.036)       0:00:00.036 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "[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]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 15 October 2026  15:52:07 +0000 (0:00:01.329)       0:00:01.365 ******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.33s",
                                "INFO     [secretgen-controller > idempotence] Executed: Successful",
                                "INFO     [secretgen-controller > side_effect] Executing",
                                "WARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > verify] Executing",
                                "",
                                "PLAY [Verify] ******************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Thursday 15 October 2026  15:52:08 +0000 (0:00:00.030)       0:00:00.030 ******",
                                "[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 [Wait for secretgen-controller deployment to be available] ****************",
                                "Thursday 15 October 2026  15:52:09 +0000 (0:00:01.337)       0:00:01.367 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "ok: [controller]",
                                "",
                                "TASK [Create a test Password resource] *****************************************",
                                "Thursday 15 October 2026  15:52:10 +0000 (0:00:00.849)       0:00:02.217 ******",
                                "changed: [controller]",
                                "",
                                "TASK [Wait for test-password secret to be generated] ***************************",
                                "Thursday 15 October 2026  15:52:11 +0000 (0:00:00.931)       0:00:03.149 ******",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Thursday 15 October 2026  15:52:12 +0000 (0:00:00.794)       0:00:03.944 ******",
                                "===============================================================================",
                                "Gathering Facts --------------------------------------------------------- 1.34s",
                                "Create a test Password resource ----------------------------------------- 0.93s",
                                "Wait for secretgen-controller deployment to be available ---------------- 0.85s",
                                "Wait for test-password secret to be generated --------------------------- 0.79s",
                                "INFO     [secretgen-controller > verify] Executed: Successful",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "WARNING  Molecule executed 1 scenario (1 missing files)"
                            ],
                            "zuul_log_id": "0242ac17-0010-8db9-55a2-000000000007-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:12.985945Z",
                            "start": "2026-10-15T15:49:20.364631Z"
                        },
                        "id": "0242ac17-0010-8db9-55a2-000000000007",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere.common/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:53:03.052426Z",
                    "start": "2026-10-15T15:52:13.787444Z"
                },
                "id": "0242ac17-0010-b3d6-002c-000000000002",
                "name": "Collect Molecule logs"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:14.234309Z",
                            "start": "2026-10-15T15:52:13.801566Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nip neigh > /tmp/logs/system/ip-neigh.txt\nbridge fdb show > /tmp/logs/system/bridge-fdb.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.168100",
                            "end": "2026-10-15 15:52:14.857947",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nip neigh > /tmp/logs/system/ip-neigh.txt\nbridge fdb show > /tmp/logs/system/bridge-fdb.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000000d-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:52:14.689847",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n/bin/bash: line 7: docker: command not found\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ip neigh\n+ bridge fdb show\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n/bin/bash: line 13: docker: command not found\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "/bin/bash: line 7: docker: command not found",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ip neigh",
                                "+ bridge fdb show",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "/bin/bash: line 13: docker: command not found",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000000d-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:15.297485Z",
                            "start": "2026-10-15T15:52:14.276372Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/tmp/logs/system /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                            "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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.38:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/bridge-fdb.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-neigh.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/bridge-fdb.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-neigh.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:16.056773Z",
                            "start": "2026-10-15T15:52:15.309558Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:16.619969Z",
                            "start": "2026-10-15T15:52:16.076908Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000012",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\n# get all Helm releases including pending and failed releases:\n# Helm 3 needs --all for that, Helm 4 lists them by default and\n# has no such flag\nHELM_LIST_ARGS=\"--short\"\nif helm list --help | grep -q -- '-a, --all '; then\n      HELM_LIST_ARGS=\"${HELM_LIST_ARGS} --all\"\nfi\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      for release in $(helm list ${HELM_LIST_ARGS} --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:01.814903",
                            "end": "2026-10-15 15:52:18.739634",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\n# get all Helm releases including pending and failed releases:\n# Helm 3 needs --all for that, Helm 4 lists them by default and\n# has no such flag\nHELM_LIST_ARGS=\"--short\"\nif helm list --help | grep -q -- '-a, --all '; then\n      HELM_LIST_ARGS=\"${HELM_LIST_ARGS} --all\"\nfi\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      for release in $(helm list ${HELM_LIST_ARGS} --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000014-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:52:16.924731",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000014-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:19.186359Z",
                            "start": "2026-10-15T15:52:16.661671Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/tmp/logs/helm /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                            "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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.38:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/releases/envoy-gateway-system/\n>f+++++++++ helm/releases/envoy-gateway-system/envoy-gateway.txt\ncd+++++++++ helm/releases/kube-system/\n>f+++++++++ helm/releases/kube-system/cilium.txt\ncd+++++++++ helm/values/\ncd+++++++++ helm/values/envoy-gateway-system/\n>f+++++++++ helm/values/envoy-gateway-system/envoy-gateway.yaml\ncd+++++++++ helm/values/kube-system/\n>f+++++++++ helm/values/kube-system/cilium.yaml\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/releases/envoy-gateway-system/",
                                ">f+++++++++ helm/releases/envoy-gateway-system/envoy-gateway.txt",
                                "cd+++++++++ helm/releases/kube-system/",
                                ">f+++++++++ helm/releases/kube-system/cilium.txt",
                                "cd+++++++++ helm/values/",
                                "cd+++++++++ helm/values/envoy-gateway-system/",
                                ">f+++++++++ helm/values/envoy-gateway-system/envoy-gateway.yaml",
                                "cd+++++++++ helm/values/kube-system/",
                                ">f+++++++++ helm/values/kube-system/cilium.yaml"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:19.748869Z",
                            "start": "2026-10-15T15:52:19.194406Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:20.055023Z",
                            "start": "2026-10-15T15:52:19.772781Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000019",
                        "name": "creating directory for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:13.215174",
                            "end": "2026-10-15 15:52:33.599605",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:52:20.384431",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nnode/controller\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nclusterrole/admin\nclusterrole/cilium\nclusterrole/cilium-operator\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nclusterrole/cluster-admin\nclusterrole/edit\nclusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system\nclusterrole/envoy-gateway-gateway-helm-envoy-gateway-role\nclusterrole/kubeadm:get-nodes\nclusterrole/secretgen-controller-cluster-role\nclusterrole/system:aggregate-to-admin\nclusterrole/system:aggregate-to-edit\nclusterrole/system:aggregate-to-view\nclusterrole/system:auth-delegator\nclusterrole/system:basic-user\nclusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient\nclusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient\nclusterrole/system:certificates.k8s.io:kube-apiserver-client-approver\nclusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver\nclusterrole/system:certificates.k8s.io:kubelet-serving-approver\nclusterrole/system:certificates.k8s.io:legacy-unknown-approver\nclusterrole/system:controller:attachdetach-controller\nclusterrole/system:controller:certificate-controller\nclusterrole/system:controller:clusterrole-aggregation-controller\nclusterrole/system:controller:cronjob-controller\nclusterrole/system:controller:daemon-set-controller\nclusterrole/system:controller:deployment-controller\nclusterrole/system:controller:disruption-controller\nclusterrole/system:controller:endpoint-controller\nclusterrolebinding/cilium\nclusterrole/system:controller:endpointslice-controller\nclusterrolebinding/cilium-operator\nclusterrole/system:controller:endpointslicemirroring-controller\nclusterrolebinding/cluster-admin\nclusterrole/system:controller:ephemeral-volume-controller\nclusterrole/system:controller:expand-controller\nclusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system\nclusterrole/system:controller:generic-garbage-collector\nclusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding\nclusterrole/system:controller:horizontal-pod-autoscaler\nclusterrolebinding/kubeadm:get-nodes\nclusterrole/system:controller:job-controller\nclusterrolebinding/kubeadm:kubelet-bootstrap\nclusterrole/system:controller:namespace-controller\nclusterrolebinding/kubeadm:node-autoapprove-bootstrap\nclusterrole/system:controller:node-controller\nclusterrolebinding/kubeadm:node-autoapprove-certificate-rotation\nclusterrole/system:controller:persistent-volume-binder\nclusterrolebinding/kubeadm:node-proxier\nclusterrole/system:controller:pod-garbage-collector\nclusterrole/system:controller:pv-protection-controller\nclusterrolebinding/secretgen-controller-cluster-role-binding\nclusterrole/system:controller:pvc-protection-controller\nclusterrolebinding/system:basic-user\nclusterrole/system:controller:replicaset-controller\nclusterrolebinding/system:controller:attachdetach-controller\nclusterrole/system:controller:replication-controller\nclusterrolebinding/system:controller:certificate-controller\nclusterrole/system:controller:resourcequota-controller\nclusterrolebinding/system:controller:clusterrole-aggregation-controller\nclusterrole/system:controller:root-ca-cert-publisher\nclusterrolebinding/system:controller:cronjob-controller\nclusterrole/system:controller:route-controller\nclusterrolebinding/system:controller:daemon-set-controller\nclusterrole/system:controller:service-account-controller\nclusterrolebinding/system:controller:deployment-controller\nclusterrole/system:controller:service-controller\nclusterrolebinding/system:controller:disruption-controller\nclusterrole/system:controller:statefulset-controller\nclusterrolebinding/system:controller:endpoint-controller\nclusterrolebinding/system:controller:endpointslice-controller\nclusterrole/system:controller:ttl-after-finished-controller\nclusterrolebinding/system:controller:endpointslicemirroring-controller\nclusterrole/system:controller:ttl-controller\nclusterrolebinding/system:controller:ephemeral-volume-controller\nclusterrole/system:coredns\nclusterrolebinding/system:controller:expand-controller\nclusterrole/system:discovery\nclusterrolebinding/system:controller:generic-garbage-collector\nclusterrole/system:heapster\nclusterrolebinding/system:controller:horizontal-pod-autoscaler\nclusterrole/system:kube-aggregator\nclusterrolebinding/system:controller:job-controller\nclusterrole/system:kube-controller-manager\nclusterrolebinding/system:controller:namespace-controller\nclusterrole/system:kube-dns\nclusterrolebinding/system:controller:node-controller\nclusterrole/system:kube-scheduler\nclusterrolebinding/system:controller:persistent-volume-binder\nclusterrole/system:kubelet-api-admin\nclusterrolebinding/system:controller:pod-garbage-collector\nclusterrole/system:monitoring\nclusterrolebinding/system:controller:pv-protection-controller\nclusterrole/system:node\nclusterrolebinding/system:controller:pvc-protection-controller\nclusterrole/system:node-bootstrapper\nclusterrolebinding/system:controller:replicaset-controller\nclusterrole/system:node-problem-detector\nclusterrolebinding/system:controller:replication-controller\nclusterrole/system:node-proxier\nclusterrole/system:persistent-volume-provisioner\nclusterrolebinding/system:controller:resourcequota-controller\nclusterrolebinding/system:controller:root-ca-cert-publisher\nclusterrole/system:public-info-viewer\nclusterrolebinding/system:controller:route-controller\nclusterrole/system:service-account-issuer-discovery\nclusterrolebinding/system:controller:service-account-controller\nclusterrole/system:volume-scheduler\nclusterrolebinding/system:controller:service-controller\nclusterrole/view\nclusterrolebinding/system:controller:statefulset-controller\nclusterrolebinding/system:controller:ttl-after-finished-controller\nclusterrolebinding/system:controller:ttl-controller\nclusterrolebinding/system:coredns\nclusterrolebinding/system:discovery\nclusterrolebinding/system:kube-controller-manager\nclusterrolebinding/system:kube-dns\nclusterrolebinding/system:kube-scheduler\nclusterrolebinding/system:monitoring\nclusterrolebinding/system:node\nclusterrolebinding/system:node-proxier\nclusterrolebinding/system:public-info-viewer\nclusterrolebinding/system:service-account-issuer-discovery\nclusterrolebinding/system:volume-scheduler\nnamespace/default\nnamespace/envoy-gateway-system\nnamespace/kube-node-lease\nnamespace/kube-public\nnamespace/kube-system\nnamespace/secretgen-controller",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "node/controller",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "clusterrole/admin",
                                "clusterrole/cilium",
                                "clusterrole/cilium-operator",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "clusterrole/cluster-admin",
                                "clusterrole/edit",
                                "clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system",
                                "clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role",
                                "clusterrole/kubeadm:get-nodes",
                                "clusterrole/secretgen-controller-cluster-role",
                                "clusterrole/system:aggregate-to-admin",
                                "clusterrole/system:aggregate-to-edit",
                                "clusterrole/system:aggregate-to-view",
                                "clusterrole/system:auth-delegator",
                                "clusterrole/system:basic-user",
                                "clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient",
                                "clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient",
                                "clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver",
                                "clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver",
                                "clusterrole/system:certificates.k8s.io:kubelet-serving-approver",
                                "clusterrole/system:certificates.k8s.io:legacy-unknown-approver",
                                "clusterrole/system:controller:attachdetach-controller",
                                "clusterrole/system:controller:certificate-controller",
                                "clusterrole/system:controller:clusterrole-aggregation-controller",
                                "clusterrole/system:controller:cronjob-controller",
                                "clusterrole/system:controller:daemon-set-controller",
                                "clusterrole/system:controller:deployment-controller",
                                "clusterrole/system:controller:disruption-controller",
                                "clusterrole/system:controller:endpoint-controller",
                                "clusterrolebinding/cilium",
                                "clusterrole/system:controller:endpointslice-controller",
                                "clusterrolebinding/cilium-operator",
                                "clusterrole/system:controller:endpointslicemirroring-controller",
                                "clusterrolebinding/cluster-admin",
                                "clusterrole/system:controller:ephemeral-volume-controller",
                                "clusterrole/system:controller:expand-controller",
                                "clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system",
                                "clusterrole/system:controller:generic-garbage-collector",
                                "clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding",
                                "clusterrole/system:controller:horizontal-pod-autoscaler",
                                "clusterrolebinding/kubeadm:get-nodes",
                                "clusterrole/system:controller:job-controller",
                                "clusterrolebinding/kubeadm:kubelet-bootstrap",
                                "clusterrole/system:controller:namespace-controller",
                                "clusterrolebinding/kubeadm:node-autoapprove-bootstrap",
                                "clusterrole/system:controller:node-controller",
                                "clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation",
                                "clusterrole/system:controller:persistent-volume-binder",
                                "clusterrolebinding/kubeadm:node-proxier",
                                "clusterrole/system:controller:pod-garbage-collector",
                                "clusterrole/system:controller:pv-protection-controller",
                                "clusterrolebinding/secretgen-controller-cluster-role-binding",
                                "clusterrole/system:controller:pvc-protection-controller",
                                "clusterrolebinding/system:basic-user",
                                "clusterrole/system:controller:replicaset-controller",
                                "clusterrolebinding/system:controller:attachdetach-controller",
                                "clusterrole/system:controller:replication-controller",
                                "clusterrolebinding/system:controller:certificate-controller",
                                "clusterrole/system:controller:resourcequota-controller",
                                "clusterrolebinding/system:controller:clusterrole-aggregation-controller",
                                "clusterrole/system:controller:root-ca-cert-publisher",
                                "clusterrolebinding/system:controller:cronjob-controller",
                                "clusterrole/system:controller:route-controller",
                                "clusterrolebinding/system:controller:daemon-set-controller",
                                "clusterrole/system:controller:service-account-controller",
                                "clusterrolebinding/system:controller:deployment-controller",
                                "clusterrole/system:controller:service-controller",
                                "clusterrolebinding/system:controller:disruption-controller",
                                "clusterrole/system:controller:statefulset-controller",
                                "clusterrolebinding/system:controller:endpoint-controller",
                                "clusterrolebinding/system:controller:endpointslice-controller",
                                "clusterrole/system:controller:ttl-after-finished-controller",
                                "clusterrolebinding/system:controller:endpointslicemirroring-controller",
                                "clusterrole/system:controller:ttl-controller",
                                "clusterrolebinding/system:controller:ephemeral-volume-controller",
                                "clusterrole/system:coredns",
                                "clusterrolebinding/system:controller:expand-controller",
                                "clusterrole/system:discovery",
                                "clusterrolebinding/system:controller:generic-garbage-collector",
                                "clusterrole/system:heapster",
                                "clusterrolebinding/system:controller:horizontal-pod-autoscaler",
                                "clusterrole/system:kube-aggregator",
                                "clusterrolebinding/system:controller:job-controller",
                                "clusterrole/system:kube-controller-manager",
                                "clusterrolebinding/system:controller:namespace-controller",
                                "clusterrole/system:kube-dns",
                                "clusterrolebinding/system:controller:node-controller",
                                "clusterrole/system:kube-scheduler",
                                "clusterrolebinding/system:controller:persistent-volume-binder",
                                "clusterrole/system:kubelet-api-admin",
                                "clusterrolebinding/system:controller:pod-garbage-collector",
                                "clusterrole/system:monitoring",
                                "clusterrolebinding/system:controller:pv-protection-controller",
                                "clusterrole/system:node",
                                "clusterrolebinding/system:controller:pvc-protection-controller",
                                "clusterrole/system:node-bootstrapper",
                                "clusterrolebinding/system:controller:replicaset-controller",
                                "clusterrole/system:node-problem-detector",
                                "clusterrolebinding/system:controller:replication-controller",
                                "clusterrole/system:node-proxier",
                                "clusterrole/system:persistent-volume-provisioner",
                                "clusterrolebinding/system:controller:resourcequota-controller",
                                "clusterrolebinding/system:controller:root-ca-cert-publisher",
                                "clusterrole/system:public-info-viewer",
                                "clusterrolebinding/system:controller:route-controller",
                                "clusterrole/system:service-account-issuer-discovery",
                                "clusterrolebinding/system:controller:service-account-controller",
                                "clusterrole/system:volume-scheduler",
                                "clusterrolebinding/system:controller:service-controller",
                                "clusterrole/view",
                                "clusterrolebinding/system:controller:statefulset-controller",
                                "clusterrolebinding/system:controller:ttl-after-finished-controller",
                                "clusterrolebinding/system:controller:ttl-controller",
                                "clusterrolebinding/system:coredns",
                                "clusterrolebinding/system:discovery",
                                "clusterrolebinding/system:kube-controller-manager",
                                "clusterrolebinding/system:kube-dns",
                                "clusterrolebinding/system:kube-scheduler",
                                "clusterrolebinding/system:monitoring",
                                "clusterrolebinding/system:node",
                                "clusterrolebinding/system:node-proxier",
                                "clusterrolebinding/system:public-info-viewer",
                                "clusterrolebinding/system:service-account-issuer-discovery",
                                "clusterrolebinding/system:volume-scheduler",
                                "namespace/default",
                                "namespace/envoy-gateway-system",
                                "namespace/kube-node-lease",
                                "namespace/kube-public",
                                "namespace/kube-system",
                                "namespace/secretgen-controller"
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000001a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:33.687744Z",
                            "start": "2026-10-15T15:52:20.149973Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:33.954766Z",
                            "start": "2026-10-15T15:52:33.699822Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000001b",
                        "name": "creating directory for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:13.309817",
                            "end": "2026-10-15 15:52:47.554084",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000001c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:52:34.244267",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/configmaps/envoy-gateway-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/deployment/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/endpoints/kubernetes\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/endpoints/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/pods/envoy-gateway-78446f96c9-jw6kg\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding\nenvoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/secrets/test-password\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/serviceaccounts/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/envoy\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/envoy-oidc-hmac\nenvoy-gateway-system/secrets/envoy-rate-limit\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1\nenvoy-gateway-system/services/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/services/kubernetes\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-node-lease/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/configmaps/cluster-info\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/rolebindings/system:controller:bootstrap-signer\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/roles/kubeadm:bootstrap-signer-clusterinfo\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/roles/system:controller:bootstrap-signer\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-node-lease/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/cilium-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/coredns\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/extension-apiserver-authentication\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kube-proxy\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kubeadm-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kubelet-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/daemonsets/cilium\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/daemonsets/kube-proxy\nsecretgen-controller/configmaps/kube-root-ca.crt\nkube-system/deployment/cilium-operator\nkube-system/deployment/coredns\nkube-system/endpoints/kube-dns\nsecretgen-controller/deployment/secretgen-controller\nkube-system/pods/cilium-operator-7fcd8d6ffd-cpw9b\nkube-system/pods/cilium-pzpcj\nkube-system/pods/coredns-5dd5756b68-g76zc\nkube-system/pods/coredns-77cccfdc44-2k2cv\nkube-system/pods/coredns-77cccfdc44-v4cgd\nkube-system/pods/etcd-controller\nkube-system/pods/kube-apiserver-controller\nkube-system/pods/kube-controller-manager-controller\nkube-system/pods/kube-proxy-wr5vs\nkube-system/pods/kube-scheduler-controller\nkube-system/pods/kube-vip-controller\nkube-system/rolebindings/cilium-config-agent\nkube-system/rolebindings/kube-proxy\nkube-system/rolebindings/kubeadm:kubeadm-certs\nkube-system/rolebindings/kubeadm:kubelet-config\nkube-system/rolebindings/kubeadm:nodes-kubeadm-config\nsecretgen-controller/pods/secretgen-controller-ffb97c6dc-9xlmj\nkube-system/rolebindings/system::extension-apiserver-authentication-reader\nkube-system/rolebindings/system::leader-locking-kube-controller-manager\nkube-system/rolebindings/system::leader-locking-kube-scheduler\nkube-system/rolebindings/system:controller:bootstrap-signer\nkube-system/rolebindings/system:controller:cloud-provider\nkube-system/rolebindings/system:controller:token-cleaner\nkube-system/roles/cilium-config-agent\nkube-system/roles/extension-apiserver-authentication-reader\nkube-system/roles/kube-proxy\nkube-system/roles/kubeadm:kubeadm-certs\nkube-system/roles/kubeadm:kubelet-config\nkube-system/roles/kubeadm:nodes-kubeadm-config\nkube-system/roles/system::leader-locking-kube-controller-manager\nkube-system/roles/system::leader-locking-kube-scheduler\nkube-system/roles/system:controller:bootstrap-signer\nkube-system/roles/system:controller:cloud-provider\nkube-system/roles/system:controller:token-cleaner\nkube-system/secrets/bootstrap-token-iq9q7z\nkube-system/secrets/bootstrap-token-xcyn8u\nkube-system/secrets/kubeadm-certs\nkube-system/secrets/sh.helm.release.v1.cilium.v1\nkube-system/serviceaccounts/attachdetach-controller\nkube-system/serviceaccounts/bootstrap-signer\nkube-system/serviceaccounts/certificate-controller\nkube-system/serviceaccounts/cilium\nkube-system/serviceaccounts/cilium-operator\nkube-system/serviceaccounts/clusterrole-aggregation-controller\nkube-system/serviceaccounts/coredns\nkube-system/serviceaccounts/cronjob-controller\nkube-system/serviceaccounts/daemon-set-controller\nkube-system/serviceaccounts/default\nkube-system/serviceaccounts/deployment-controller\nkube-system/serviceaccounts/disruption-controller\nkube-system/serviceaccounts/endpoint-controller\nkube-system/serviceaccounts/endpointslice-controller\nkube-system/services/kube-dns\nkube-system/serviceaccounts/endpointslicemirroring-controller\nkube-system/serviceaccounts/ephemeral-volume-controller\nkube-system/serviceaccounts/expand-controller\nkube-system/serviceaccounts/generic-garbage-collector\nkube-system/serviceaccounts/horizontal-pod-autoscaler\nkube-system/serviceaccounts/job-controller\nkube-system/serviceaccounts/kube-proxy\nkube-system/serviceaccounts/namespace-controller\nkube-system/serviceaccounts/node-controller\nkube-system/serviceaccounts/persistent-volume-binder\nkube-system/serviceaccounts/pod-garbage-collector\nkube-system/serviceaccounts/pv-protection-controller\nkube-system/serviceaccounts/pvc-protection-controller\nkube-system/serviceaccounts/replicaset-controller\nkube-system/serviceaccounts/replication-controller\nkube-system/serviceaccounts/resourcequota-controller\nkube-system/serviceaccounts/root-ca-cert-publisher\nkube-system/serviceaccounts/service-account-controller\nkube-system/serviceaccounts/service-controller\nkube-system/serviceaccounts/statefulset-controller\nkube-system/serviceaccounts/token-cleaner\nkube-system/serviceaccounts/ttl-after-finished-controller\nkube-system/serviceaccounts/ttl-controller\nsecretgen-controller/serviceaccounts/default\nsecretgen-controller/serviceaccounts/secretgen-controller-sa",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/configmaps/envoy-gateway-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/deployment/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/endpoints/kubernetes",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/endpoints/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/pods/envoy-gateway-78446f96c9-jw6kg",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding",
                                "envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/secrets/test-password",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/serviceaccounts/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/envoy",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/envoy-oidc-hmac",
                                "envoy-gateway-system/secrets/envoy-rate-limit",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1",
                                "envoy-gateway-system/services/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/services/kubernetes",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-node-lease/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/configmaps/cluster-info",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/rolebindings/system:controller:bootstrap-signer",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/roles/kubeadm:bootstrap-signer-clusterinfo",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/roles/system:controller:bootstrap-signer",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-node-lease/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/cilium-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/coredns",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/extension-apiserver-authentication",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kube-proxy",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kubeadm-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kubelet-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/daemonsets/cilium",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/daemonsets/kube-proxy",
                                "secretgen-controller/configmaps/kube-root-ca.crt",
                                "kube-system/deployment/cilium-operator",
                                "kube-system/deployment/coredns",
                                "kube-system/endpoints/kube-dns",
                                "secretgen-controller/deployment/secretgen-controller",
                                "kube-system/pods/cilium-operator-7fcd8d6ffd-cpw9b",
                                "kube-system/pods/cilium-pzpcj",
                                "kube-system/pods/coredns-5dd5756b68-g76zc",
                                "kube-system/pods/coredns-77cccfdc44-2k2cv",
                                "kube-system/pods/coredns-77cccfdc44-v4cgd",
                                "kube-system/pods/etcd-controller",
                                "kube-system/pods/kube-apiserver-controller",
                                "kube-system/pods/kube-controller-manager-controller",
                                "kube-system/pods/kube-proxy-wr5vs",
                                "kube-system/pods/kube-scheduler-controller",
                                "kube-system/pods/kube-vip-controller",
                                "kube-system/rolebindings/cilium-config-agent",
                                "kube-system/rolebindings/kube-proxy",
                                "kube-system/rolebindings/kubeadm:kubeadm-certs",
                                "kube-system/rolebindings/kubeadm:kubelet-config",
                                "kube-system/rolebindings/kubeadm:nodes-kubeadm-config",
                                "secretgen-controller/pods/secretgen-controller-ffb97c6dc-9xlmj",
                                "kube-system/rolebindings/system::extension-apiserver-authentication-reader",
                                "kube-system/rolebindings/system::leader-locking-kube-controller-manager",
                                "kube-system/rolebindings/system::leader-locking-kube-scheduler",
                                "kube-system/rolebindings/system:controller:bootstrap-signer",
                                "kube-system/rolebindings/system:controller:cloud-provider",
                                "kube-system/rolebindings/system:controller:token-cleaner",
                                "kube-system/roles/cilium-config-agent",
                                "kube-system/roles/extension-apiserver-authentication-reader",
                                "kube-system/roles/kube-proxy",
                                "kube-system/roles/kubeadm:kubeadm-certs",
                                "kube-system/roles/kubeadm:kubelet-config",
                                "kube-system/roles/kubeadm:nodes-kubeadm-config",
                                "kube-system/roles/system::leader-locking-kube-controller-manager",
                                "kube-system/roles/system::leader-locking-kube-scheduler",
                                "kube-system/roles/system:controller:bootstrap-signer",
                                "kube-system/roles/system:controller:cloud-provider",
                                "kube-system/roles/system:controller:token-cleaner",
                                "kube-system/secrets/bootstrap-token-iq9q7z",
                                "kube-system/secrets/bootstrap-token-xcyn8u",
                                "kube-system/secrets/kubeadm-certs",
                                "kube-system/secrets/sh.helm.release.v1.cilium.v1",
                                "kube-system/serviceaccounts/attachdetach-controller",
                                "kube-system/serviceaccounts/bootstrap-signer",
                                "kube-system/serviceaccounts/certificate-controller",
                                "kube-system/serviceaccounts/cilium",
                                "kube-system/serviceaccounts/cilium-operator",
                                "kube-system/serviceaccounts/clusterrole-aggregation-controller",
                                "kube-system/serviceaccounts/coredns",
                                "kube-system/serviceaccounts/cronjob-controller",
                                "kube-system/serviceaccounts/daemon-set-controller",
                                "kube-system/serviceaccounts/default",
                                "kube-system/serviceaccounts/deployment-controller",
                                "kube-system/serviceaccounts/disruption-controller",
                                "kube-system/serviceaccounts/endpoint-controller",
                                "kube-system/serviceaccounts/endpointslice-controller",
                                "kube-system/services/kube-dns",
                                "kube-system/serviceaccounts/endpointslicemirroring-controller",
                                "kube-system/serviceaccounts/ephemeral-volume-controller",
                                "kube-system/serviceaccounts/expand-controller",
                                "kube-system/serviceaccounts/generic-garbage-collector",
                                "kube-system/serviceaccounts/horizontal-pod-autoscaler",
                                "kube-system/serviceaccounts/job-controller",
                                "kube-system/serviceaccounts/kube-proxy",
                                "kube-system/serviceaccounts/namespace-controller",
                                "kube-system/serviceaccounts/node-controller",
                                "kube-system/serviceaccounts/persistent-volume-binder",
                                "kube-system/serviceaccounts/pod-garbage-collector",
                                "kube-system/serviceaccounts/pv-protection-controller",
                                "kube-system/serviceaccounts/pvc-protection-controller",
                                "kube-system/serviceaccounts/replicaset-controller",
                                "kube-system/serviceaccounts/replication-controller",
                                "kube-system/serviceaccounts/resourcequota-controller",
                                "kube-system/serviceaccounts/root-ca-cert-publisher",
                                "kube-system/serviceaccounts/service-account-controller",
                                "kube-system/serviceaccounts/service-controller",
                                "kube-system/serviceaccounts/statefulset-controller",
                                "kube-system/serviceaccounts/token-cleaner",
                                "kube-system/serviceaccounts/ttl-after-finished-controller",
                                "kube-system/serviceaccounts/ttl-controller",
                                "secretgen-controller/serviceaccounts/default",
                                "secretgen-controller/serviceaccounts/secretgen-controller-sa"
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000001c-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:48.024776Z",
                            "start": "2026-10-15T15:52:33.993255Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/tmp/logs/objects /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                            "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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.38:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/cluster/clusterrole/\n>f+++++++++ objects/cluster/clusterrole/admin.txt\n>f+++++++++ objects/cluster/clusterrole/admin.yaml\n>f+++++++++ objects/cluster/clusterrole/cilium-operator.txt\n>f+++++++++ objects/cluster/clusterrole/cilium-operator.yaml\n>f+++++++++ objects/cluster/clusterrole/cilium.txt\n>f+++++++++ objects/cluster/clusterrole/cilium.yaml\n>f+++++++++ objects/cluster/clusterrole/cluster-admin.txt\n>f+++++++++ objects/cluster/clusterrole/cluster-admin.yaml\n>f+++++++++ objects/cluster/clusterrole/edit.txt\n>f+++++++++ objects/cluster/clusterrole/edit.yaml\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.txt\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.yaml\n>f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.txt\n>f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.yaml\n>f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.txt\n>f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.yaml\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.txt\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.yaml\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.txt\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.yaml\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.txt\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.yaml\n>f+++++++++ objects/cluster/clusterrole/system:auth-delegator.txt\n>f+++++++++ objects/cluster/clusterrole/system:auth-delegator.yaml\n>f+++++++++ objects/cluster/clusterrole/system:basic-user.txt\n>f+++++++++ objects/cluster/clusterrole/system:basic-user.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:coredns.txt\n>f+++++++++ objects/cluster/clusterrole/system:coredns.yaml\n>f+++++++++ objects/cluster/clusterrole/system:discovery.txt\n>f+++++++++ objects/cluster/clusterrole/system:discovery.yaml\n>f+++++++++ objects/cluster/clusterrole/system:heapster.txt\n>f+++++++++ objects/cluster/clusterrole/system:heapster.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-dns.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-dns.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.txt\n>f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.yaml\n>f+++++++++ objects/cluster/clusterrole/system:monitoring.txt\n>f+++++++++ objects/cluster/clusterrole/system:monitoring.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.txt\n>f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.txt\n>f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node-proxier.txt\n>f+++++++++ objects/cluster/clusterrole/system:node-proxier.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node.txt\n>f+++++++++ objects/cluster/clusterrole/system:node.yaml\n>f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.txt\n>f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.yaml\n>f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.txt\n>f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.yaml\n>f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.txt\n>f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.yaml\n>f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.txt\n>f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.yaml\n>f+++++++++ objects/cluster/clusterrole/view.txt\n>f+++++++++ objects/cluster/clusterrole/view.yaml\ncd+++++++++ objects/cluster/clusterrolebinding/\n>f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.txt\n>f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/cilium.txt\n>f+++++++++ objects/cluster/clusterrolebinding/cilium.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.txt\n>f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.txt\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.txt\n>f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:coredns.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:coredns.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:discovery.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:discovery.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:node.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:node.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.yaml\ncd+++++++++ objects/cluster/namespace/\n>f+++++++++ objects/cluster/namespace/default.txt\n>f+++++++++ objects/cluster/namespace/default.yaml\n>f+++++++++ objects/cluster/namespace/envoy-gateway-system.txt\n>f+++++++++ objects/cluster/namespace/envoy-gateway-system.yaml\n>f+++++++++ objects/cluster/namespace/kube-node-lease.txt\n>f+++++++++ objects/cluster/namespace/kube-node-lease.yaml\n>f+++++++++ objects/cluster/namespace/kube-public.txt\n>f+++++++++ objects/cluster/namespace/kube-public.yaml\n>f+++++++++ objects/cluster/namespace/kube-system.txt\n>f+++++++++ objects/cluster/namespace/kube-system.yaml\n>f+++++++++ objects/cluster/namespace/secretgen-controller.txt\n>f+++++++++ objects/cluster/namespace/secretgen-controller.yaml\ncd+++++++++ objects/cluster/node/\n>f+++++++++ objects/cluster/node/controller.txt\n>f+++++++++ objects/cluster/node/controller.yaml\ncd+++++++++ objects/namespaced/\ncd+++++++++ objects/namespaced/default/\ncd+++++++++ objects/namespaced/default/configmaps/\n>f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/default/endpoints/\n>f+++++++++ objects/namespaced/default/endpoints/kubernetes.txt\n>f+++++++++ objects/namespaced/default/endpoints/kubernetes.yaml\ncd+++++++++ objects/namespaced/default/secrets/\n>f+++++++++ objects/namespaced/default/secrets/test-password.txt\n>f+++++++++ objects/namespaced/default/secrets/test-password.yaml\ncd+++++++++ objects/namespaced/default/serviceaccounts/\n>f+++++++++ objects/namespaced/default/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/default/serviceaccounts/default.yaml\ncd+++++++++ objects/namespaced/default/services/\n>f+++++++++ objects/namespaced/default/services/kubernetes.txt\n>f+++++++++ objects/namespaced/default/services/kubernetes.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/\ncd+++++++++ objects/namespaced/envoy-gateway-system/configmaps/\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/deployment/\n>f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/endpoints/\n>f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/pods/\n>f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-jw6kg.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-jw6kg.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/roles/\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/secrets/\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/services/\n>f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/kube-node-lease/\ncd+++++++++ objects/namespaced/kube-node-lease/configmaps/\n>f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/\n>f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.yaml\ncd+++++++++ objects/namespaced/kube-public/\ncd+++++++++ objects/namespaced/kube-public/configmaps/\n>f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.txt\n>f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.yaml\n>f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/kube-public/rolebindings/\n>f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.txt\n>f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.yaml\n>f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.yaml\ncd+++++++++ objects/namespaced/kube-public/roles/\n>f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.txt\n>f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.yaml\n>f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.yaml\ncd+++++++++ objects/namespaced/kube-public/serviceaccounts/\n>f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.yaml\ncd+++++++++ objects/namespaced/kube-system/\ncd+++++++++ objects/namespaced/kube-system/configmaps/\n>f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/coredns.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/coredns.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.yaml\ncd+++++++++ objects/namespaced/kube-system/daemonsets/\n>f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.txt\n>f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.yaml\n>f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.yaml\ncd+++++++++ objects/namespaced/kube-system/deployment/\n>f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.txt\n>f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.yaml\n>f+++++++++ objects/namespaced/kube-system/deployment/coredns.txt\n>f+++++++++ objects/namespaced/kube-system/deployment/coredns.yaml\ncd+++++++++ objects/namespaced/kube-system/endpoints/\n>f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.txt\n>f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.yaml\ncd+++++++++ objects/namespaced/kube-system/pods/\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-cpw9b.txt\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-cpw9b.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-pzpcj.txt\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-pzpcj.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-g76zc.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-g76zc.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-2k2cv.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-2k2cv.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-v4cgd.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-v4cgd.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-wr5vs.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-wr5vs.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.yaml\ncd+++++++++ objects/namespaced/kube-system/rolebindings/\n>f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.yaml\ncd+++++++++ objects/namespaced/kube-system/roles/\n>f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.txt\n>f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.txt\n>f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.yaml\ncd+++++++++ objects/namespaced/kube-system/secrets/\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-iq9q7z.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-iq9q7z.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-xcyn8u.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-xcyn8u.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.yaml\ncd+++++++++ objects/namespaced/kube-system/serviceaccounts/\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.yaml\ncd+++++++++ objects/namespaced/kube-system/services/\n>f+++++++++ objects/namespaced/kube-system/services/kube-dns.txt\n>f+++++++++ objects/namespaced/kube-system/services/kube-dns.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/\ncd+++++++++ objects/namespaced/secretgen-controller/configmaps/\n>f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/deployment/\n>f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.txt\n>f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/pods/\n>f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-9xlmj.txt\n>f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-9xlmj.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.yaml\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.txt\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.yaml\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/cluster/clusterrole/",
                                ">f+++++++++ objects/cluster/clusterrole/admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/cilium-operator.txt",
                                ">f+++++++++ objects/cluster/clusterrole/cilium-operator.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/cilium.txt",
                                ">f+++++++++ objects/cluster/clusterrole/cilium.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/cluster-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/cluster-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/edit.txt",
                                ">f+++++++++ objects/cluster/clusterrole/edit.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.txt",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.txt",
                                ">f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.txt",
                                ">f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:auth-delegator.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:auth-delegator.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:basic-user.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:basic-user.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:coredns.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:coredns.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:heapster.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:heapster.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-dns.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-dns.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:monitoring.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:monitoring.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-proxier.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-proxier.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/view.txt",
                                ">f+++++++++ objects/cluster/clusterrole/view.yaml",
                                "cd+++++++++ objects/cluster/clusterrolebinding/",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:coredns.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:coredns.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.yaml",
                                "cd+++++++++ objects/cluster/namespace/",
                                ">f+++++++++ objects/cluster/namespace/default.txt",
                                ">f+++++++++ objects/cluster/namespace/default.yaml",
                                ">f+++++++++ objects/cluster/namespace/envoy-gateway-system.txt",
                                ">f+++++++++ objects/cluster/namespace/envoy-gateway-system.yaml",
                                ">f+++++++++ objects/cluster/namespace/kube-node-lease.txt",
                                ">f+++++++++ objects/cluster/namespace/kube-node-lease.yaml",
                                ">f+++++++++ objects/cluster/namespace/kube-public.txt",
                                ">f+++++++++ objects/cluster/namespace/kube-public.yaml",
                                ">f+++++++++ objects/cluster/namespace/kube-system.txt",
                                ">f+++++++++ objects/cluster/namespace/kube-system.yaml",
                                ">f+++++++++ objects/cluster/namespace/secretgen-controller.txt",
                                ">f+++++++++ objects/cluster/namespace/secretgen-controller.yaml",
                                "cd+++++++++ objects/cluster/node/",
                                ">f+++++++++ objects/cluster/node/controller.txt",
                                ">f+++++++++ objects/cluster/node/controller.yaml",
                                "cd+++++++++ objects/namespaced/",
                                "cd+++++++++ objects/namespaced/default/",
                                "cd+++++++++ objects/namespaced/default/configmaps/",
                                ">f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/default/endpoints/",
                                ">f+++++++++ objects/namespaced/default/endpoints/kubernetes.txt",
                                ">f+++++++++ objects/namespaced/default/endpoints/kubernetes.yaml",
                                "cd+++++++++ objects/namespaced/default/secrets/",
                                ">f+++++++++ objects/namespaced/default/secrets/test-password.txt",
                                ">f+++++++++ objects/namespaced/default/secrets/test-password.yaml",
                                "cd+++++++++ objects/namespaced/default/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/default/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/default/serviceaccounts/default.yaml",
                                "cd+++++++++ objects/namespaced/default/services/",
                                ">f+++++++++ objects/namespaced/default/services/kubernetes.txt",
                                ">f+++++++++ objects/namespaced/default/services/kubernetes.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/configmaps/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/deployment/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/endpoints/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/pods/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-jw6kg.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-jw6kg.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/roles/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/secrets/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/services/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/kube-node-lease/",
                                "cd+++++++++ objects/namespaced/kube-node-lease/configmaps/",
                                ">f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/",
                                "cd+++++++++ objects/namespaced/kube-public/configmaps/",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.txt",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.yaml",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/rolebindings/",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.txt",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.yaml",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/roles/",
                                ">f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.txt",
                                ">f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.yaml",
                                ">f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/",
                                "cd+++++++++ objects/namespaced/kube-system/configmaps/",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/coredns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/coredns.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/daemonsets/",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.txt",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/deployment/",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.txt",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/coredns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/coredns.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/endpoints/",
                                ">f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/pods/",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-cpw9b.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-cpw9b.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-pzpcj.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-pzpcj.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-g76zc.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-g76zc.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-2k2cv.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-2k2cv.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-v4cgd.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-v4cgd.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-wr5vs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-wr5vs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/rolebindings/",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/roles/",
                                ">f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/secrets/",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-iq9q7z.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-iq9q7z.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-xcyn8u.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-xcyn8u.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/services/",
                                ">f+++++++++ objects/namespaced/kube-system/services/kube-dns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/services/kube-dns.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/",
                                "cd+++++++++ objects/namespaced/secretgen-controller/configmaps/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/deployment/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/pods/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-9xlmj.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-9xlmj.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.yaml",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.yaml"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:48.731742Z",
                            "start": "2026-10-15T15:52:48.036448Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:48.994607Z",
                            "start": "2026-10-15T15:52:48.746338Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:49.286808Z",
                            "start": "2026-10-15T15:52:49.004760Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000022",
                        "name": "creating directory for failed pod logs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    # only restarted containers have the previous logs\n    PREVIOUS=\"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"${PREVIOUS}\" 2> /dev/null || rm -f \"${PREVIOUS}\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:07.368187",
                            "end": "2026-10-15 15:52:56.988166",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    # only restarted containers have the previous logs\n    PREVIOUS=\"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"${PREVIOUS}\" 2> /dev/null || rm -f \"${PREVIOUS}\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000023-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:52:49.619979",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/envoy-gateway\nkube-system/cilium-operator-7fcd8d6ffd-cpw9b/cilium-operator\nkube-system/cilium-pzpcj/config\nkube-system/cilium-pzpcj/mount-cgroup\nkube-system/cilium-pzpcj/apply-sysctl-overwrites\nkube-system/cilium-pzpcj/mount-bpf-fs\nkube-system/cilium-pzpcj/clean-cilium-state\nkube-system/cilium-pzpcj/install-cni-binaries\nkube-system/cilium-pzpcj/cilium-agent\nkube-system/coredns-5dd5756b68-g76zc/coredns\nkube-system/coredns-77cccfdc44-2k2cv/coredns\nkube-system/coredns-77cccfdc44-v4cgd/coredns\nkube-system/etcd-controller/etcd\nkube-system/kube-apiserver-controller/kube-apiserver\nkube-system/kube-controller-manager-controller/kube-controller-manager\nkube-system/kube-proxy-wr5vs/kube-proxy\nkube-system/kube-scheduler-controller/kube-scheduler\nkube-system/kube-vip-controller/kube-vip\nsecretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/secretgen-controller",
                            "stdout_lines": [
                                "envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/envoy-gateway",
                                "kube-system/cilium-operator-7fcd8d6ffd-cpw9b/cilium-operator",
                                "kube-system/cilium-pzpcj/config",
                                "kube-system/cilium-pzpcj/mount-cgroup",
                                "kube-system/cilium-pzpcj/apply-sysctl-overwrites",
                                "kube-system/cilium-pzpcj/mount-bpf-fs",
                                "kube-system/cilium-pzpcj/clean-cilium-state",
                                "kube-system/cilium-pzpcj/install-cni-binaries",
                                "kube-system/cilium-pzpcj/cilium-agent",
                                "kube-system/coredns-5dd5756b68-g76zc/coredns",
                                "kube-system/coredns-77cccfdc44-2k2cv/coredns",
                                "kube-system/coredns-77cccfdc44-v4cgd/coredns",
                                "kube-system/etcd-controller/etcd",
                                "kube-system/kube-apiserver-controller/kube-apiserver",
                                "kube-system/kube-controller-manager-controller/kube-controller-manager",
                                "kube-system/kube-proxy-wr5vs/kube-proxy",
                                "kube-system/kube-scheduler-controller/kube-scheduler",
                                "kube-system/kube-vip-controller/kube-vip",
                                "secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/secretgen-controller"
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000023-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:57.354832Z",
                            "start": "2026-10-15T15:52:49.327872Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/tmp/logs/pod-logs /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                            "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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.38:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/envoy-gateway-system/\ncd+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/\n>f+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/envoy-gateway.txt\ncd+++++++++ pod-logs/failed-pods/\ncd+++++++++ pod-logs/failed-pods/envoy-gateway-system/\ncd+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/\ncd+++++++++ pod-logs/failed-pods/kube-system/\ncd+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-cpw9b/\ncd+++++++++ pod-logs/failed-pods/kube-system/cilium-pzpcj/\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-g76zc/\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-2k2cv/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-2k2cv/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-v4cgd/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-v4cgd/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-wr5vs/\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/\ncd+++++++++ pod-logs/failed-pods/secretgen-controller/\ncd+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/\ncd+++++++++ pod-logs/kube-system/\ncd+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-cpw9b/\n>f+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-cpw9b/cilium-operator.txt\ncd+++++++++ pod-logs/kube-system/cilium-pzpcj/\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/apply-sysctl-overwrites.txt\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/cilium-agent.txt\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/clean-cilium-state.txt\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/config.txt\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/install-cni-binaries.txt\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/mount-bpf-fs.txt\n>f+++++++++ pod-logs/kube-system/cilium-pzpcj/mount-cgroup.txt\ncd+++++++++ pod-logs/kube-system/coredns-5dd5756b68-g76zc/\n>f+++++++++ pod-logs/kube-system/coredns-5dd5756b68-g76zc/coredns.txt\ncd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-2k2cv/\n>f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-2k2cv/coredns.txt\ncd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-v4cgd/\n>f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-v4cgd/coredns.txt\ncd+++++++++ pod-logs/kube-system/etcd-controller/\n>f+++++++++ pod-logs/kube-system/etcd-controller/etcd.txt\ncd+++++++++ pod-logs/kube-system/kube-apiserver-controller/\n>f+++++++++ pod-logs/kube-system/kube-apiserver-controller/kube-apiserver.txt\ncd+++++++++ pod-logs/kube-system/kube-controller-manager-controller/\n>f+++++++++ pod-logs/kube-system/kube-controller-manager-controller/kube-controller-manager.txt\ncd+++++++++ pod-logs/kube-system/kube-proxy-wr5vs/\n>f+++++++++ pod-logs/kube-system/kube-proxy-wr5vs/kube-proxy.txt\ncd+++++++++ pod-logs/kube-system/kube-scheduler-controller/\n>f+++++++++ pod-logs/kube-system/kube-scheduler-controller/kube-scheduler.txt\ncd+++++++++ pod-logs/kube-system/kube-vip-controller/\n>f+++++++++ pod-logs/kube-system/kube-vip-controller/kube-vip.txt\ncd+++++++++ pod-logs/secretgen-controller/\ncd+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/\n>f+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/secretgen-controller.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/envoy-gateway-system/",
                                "cd+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/",
                                ">f+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/envoy-gateway.txt",
                                "cd+++++++++ pod-logs/failed-pods/",
                                "cd+++++++++ pod-logs/failed-pods/envoy-gateway-system/",
                                "cd+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-jw6kg/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-cpw9b/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/cilium-pzpcj/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-g76zc/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-2k2cv/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-2k2cv/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-v4cgd/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-v4cgd/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-wr5vs/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/",
                                "cd+++++++++ pod-logs/failed-pods/secretgen-controller/",
                                "cd+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/",
                                "cd+++++++++ pod-logs/kube-system/",
                                "cd+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-cpw9b/",
                                ">f+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-cpw9b/cilium-operator.txt",
                                "cd+++++++++ pod-logs/kube-system/cilium-pzpcj/",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/apply-sysctl-overwrites.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/cilium-agent.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/clean-cilium-state.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/config.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/install-cni-binaries.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/mount-bpf-fs.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-pzpcj/mount-cgroup.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-5dd5756b68-g76zc/",
                                ">f+++++++++ pod-logs/kube-system/coredns-5dd5756b68-g76zc/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-2k2cv/",
                                ">f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-2k2cv/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-v4cgd/",
                                ">f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-v4cgd/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/etcd-controller/",
                                ">f+++++++++ pod-logs/kube-system/etcd-controller/etcd.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-apiserver-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-apiserver-controller/kube-apiserver.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-controller-manager-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-controller-manager-controller/kube-controller-manager.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-proxy-wr5vs/",
                                ">f+++++++++ pod-logs/kube-system/kube-proxy-wr5vs/kube-proxy.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-scheduler-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-scheduler-controller/kube-scheduler.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-vip-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-vip-controller/kube-vip.txt",
                                "cd+++++++++ pod-logs/secretgen-controller/",
                                "cd+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/",
                                ">f+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-9xlmj/secretgen-controller.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:57.952969Z",
                            "start": "2026-10-15T15:52:57.365495Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:58.258511Z",
                            "start": "2026-10-15T15:52:57.990491Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000028",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                            "delta": "0:00:01.022225",
                            "end": "2026-10-15 15:52:59.587254",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000029-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:52:58.565029",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Scraping envoy-gateway.envoy-gateway-system:19001/metrics:\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: envoy-gateway.envoy-gateway-system\nScraping kube-dns.kube-system:9153/metrics:\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: kube-dns.kube-system",
                            "stdout_lines": [
                                "Scraping envoy-gateway.envoy-gateway-system:19001/metrics:",
                                "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current",
                                "                                 Dload  Upload   Total   Spent    Left  Speed",
                                "",
                                "  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: envoy-gateway.envoy-gateway-system",
                                "Scraping kube-dns.kube-system:9153/metrics:",
                                "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current",
                                "                                 Dload  Upload   Total   Spent    Left  Speed",
                                "",
                                "  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: kube-dns.kube-system"
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000029-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:52:59.817610Z",
                            "start": "2026-10-15T15:52:58.301934Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000029",
                        "name": "Get metrics from exporter services in all namespaces"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                            "delta": "0:00:00.097827",
                            "end": "2026-10-15 15:53:00.202116",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000002a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:53:00.104289",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ceph-mgr endpoints: ",
                            "stdout_lines": [
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000002a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:00.371407Z",
                            "start": "2026-10-15T15:52:59.850819Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000002a",
                        "name": "Get ceph metrics from ceph-mgr"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                            "delta": "0:00:00.102644",
                            "end": "2026-10-15 15:53:00.760666",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000002b-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-10-15 15:53:00.658022",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-00000000002b-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:00.930795Z",
                            "start": "2026-10-15T15:53:00.414880Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/tmp/logs/prometheus /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                            "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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.38:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n>f+++++++++ prometheus/envoy-gateway-system-envoy-gateway.txt\n>f+++++++++ prometheus/kube-system-kube-dns.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/",
                                ">f+++++++++ prometheus/envoy-gateway-system-envoy-gateway.txt",
                                ">f+++++++++ prometheus/kube-system-kube-dns.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:01.577521Z",
                            "start": "2026-10-15T15:53:00.984723Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:01.882446Z",
                            "start": "2026-10-15T15:53:01.596066Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000030",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                            "delta": "0:00:00.015183",
                            "end": "2026-10-15 15:53:02.220172",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000031-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-10-15 15:53:02.204989",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0010-b3d6-002c-000000000031-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:02.451452Z",
                            "start": "2026-10-15T15:53:01.929243Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/tmp/logs/selenium /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                            "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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.38:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-b3d6-002c-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:03.052426Z",
                            "start": "2026-10-15T15:53:02.458644Z"
                        },
                        "id": "0242ac17-0010-b3d6-002c-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 23,
            "failures": 0,
            "ignored": 1,
            "ok": 23,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:53:07.328038Z",
                    "start": "2026-10-15T15:53:03.796414Z"
                },
                "id": "0242ac17-0010-c225-283d-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-c225-283d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:03.871782Z",
                            "start": "2026-10-15T15:53:03.807300Z"
                        },
                        "id": "0242ac17-0010-c225-283d-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c225-283d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:03.924108Z",
                            "start": "2026-10-15T15:53:03.880421Z"
                        },
                        "id": "0242ac17-0010-c225-283d-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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c225-283d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:04.787891Z",
                            "start": "2026-10-15T15:53:03.933324Z"
                        },
                        "id": "0242ac17-0010-c225-283d-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.38:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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@162.253.55.38:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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@162.253.55.38:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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@162.253.55.38:/home/zuul/zuul-output/artifacts/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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@162.253.55.38:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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@162.253.55.38:/home/zuul/zuul-output/docs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c225-283d-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:06.572258Z",
                            "start": "2026-10-15T15:53:04.801302Z"
                        },
                        "id": "0242ac17-0010-c225-283d-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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/artifacts/* /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.006921",
                                    "end": "2026-10-15 15:53:07.023968",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/artifacts/* /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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-10-15 15:53:07.017047",
                                    "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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/docs/* /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.008698",
                                    "end": "2026-10-15 15:53:07.280067",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/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/2fa9cf279d3f4410ae34f86f8e206bef/work/docs/* /var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/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-10-15 15:53:07.271369",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-c225-283d-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:07.328038Z",
                            "start": "2026-10-15T15:53:06.593158Z"
                        },
                        "id": "0242ac17-0010-c225-283d-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-10-15T15:53:07.882582Z",
                    "start": "2026-10-15T15:53:07.346521Z"
                },
                "id": "0242ac17-0010-c225-283d-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCaQKPOJquNndtG0eIk1e9yp5SnScHATsfmKetM+mkmryc2SdbXiB7FrezoZV4emfNfbmjufl4hIsuARirDPuiTTtxmtGC4wguLskZ+L55SSWyevwScrKYtSBEf6VOnQuiqP+wqwGRZbM0RUMAwL6KrGeevQIhOtRupqKZq94wdWDOxIMmwypCSr8hQ0W63PLQoTT8vxXGUX3tKybqpUVnH6IatYL0/1Ete9qsc1rsrdOr0rQPFkpCNKmJ+W5jVi97E9p7dLXZT3nOqI9fow/p7TDFAhymY288I5Q4JDBUQoIB2eSE475XBg+RlpP9f2xKMzaRuW+pKHYN/AvMeWl5WvPgRnaYu+lFnvNqbWE1l/tX1L76Q0OS/7gPEcWuohZjDa/9a4af7P8/um/nZsJIPRK19PRms+flQD9S4MqOCxAQbpGT//6Ac4wC7soCjEmsnHrkxEpTft+Y0lpEH121ybp8NVaxfmvgxxKYnd6RUt6iPi8c+myO5ag88khaxoCc= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCaQKPOJquNndtG0eIk1e9yp5SnScHATsfmKetM+mkmryc2SdbXiB7FrezoZV4emfNfbmjufl4hIsuARirDPuiTTtxmtGC4wguLskZ+L55SSWyevwScrKYtSBEf6VOnQuiqP+wqwGRZbM0RUMAwL6KrGeevQIhOtRupqKZq94wdWDOxIMmwypCSr8hQ0W63PLQoTT8vxXGUX3tKybqpUVnH6IatYL0/1Ete9qsc1rsrdOr0rQPFkpCNKmJ+W5jVi97E9p7dLXZT3nOqI9fow/p7TDFAhymY288I5Q4JDBUQoIB2eSE475XBg+RlpP9f2xKMzaRuW+pKHYN/AvMeWl5WvPgRnaYu+lFnvNqbWE1l/tX1L76Q0OS/7gPEcWuohZjDa/9a4af7P8/um/nZsJIPRK19PRms+flQD9S4MqOCxAQbpGT//6Ac4wC7soCjEmsnHrkxEpTft+Y0lpEH121ybp8NVaxfmvgxxKYnd6RUt6iPi8c+myO5ag88khaxoCc= 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-c225-283d-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/2fa9cf279d3f4410ae34f86f8e206bef/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-10-15T15:53:07.882582Z",
                            "start": "2026-10-15T15:53:07.360278Z"
                        },
                        "id": "0242ac17-0010-c225-283d-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
}
]
