[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:18:57.798188Z",
                    "start": "2026-09-25T02:18:54.705407Z"
                },
                "id": "0242ac17-0010-a6ca-af68-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-09-25",
                                    "day": "25",
                                    "epoch": "1790302735",
                                    "epoch_int": "1790302735",
                                    "hour": "02",
                                    "iso8601": "2026-09-25T02:18:55Z",
                                    "iso8601_basic": "20260925T021855569777",
                                    "iso8601_basic_short": "20260925T021855",
                                    "iso8601_micro": "2026-09-25T02:18:55.569777Z",
                                    "minute": "18",
                                    "month": "09",
                                    "second": "55",
                                    "time": "02:18:55",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "38",
                                    "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/5dbded4701fc4dee8839bda98d8c394b/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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": "569020",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-m5kKxyYsbD9w/agent.569018",
                                    "TMP": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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": 5.11767578125,
                                    "1m": 10.49951171875,
                                    "5m": 7.9169921875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 2281,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 10296,
                                        "used": 21794
                                    },
                                    "real": {
                                        "free": 2281,
                                        "total": 32090,
                                        "used": 29809
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 41221832,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 222718885,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 27514316,
                                        "inode_total": 67108864,
                                        "inode_used": 39594548,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 168844623872,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 7041475,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33560105,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15919170,
                                        "inode_total": 20643840,
                                        "inode_used": 4724670,
                                        "mount": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28841881600,
                                        "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": 53966188,
                                "ansible_user_dir": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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-09-25T02:18:56.089940Z",
                            "start": "2026-09-25T02:18:54.712306Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:56.116634Z",
                            "start": "2026-09-25T02:18:56.096622Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "5db/oss/5dbded4701fc4dee8839bda98d8c394b"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:56.161804Z",
                            "start": "2026-09-25T02:18:56.132313Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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/105\nEvent ID: 8a655060-b886-11f1-8253-66595aef42c6\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:56.222935Z",
                            "start": "2026-09-25T02:18:56.176588Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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: np0000193944\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.226\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:56.357957Z",
                            "start": "2026-09-25T02:18:56.227388Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:56.822333Z",
                            "start": "2026-09-25T02:18:56.370411Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "38f15b5d4d907195bfc1d54a00431a68cd2c4e27",
                            "dest": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "38f15b5d4d907195bfc1d54a00431a68cd2c4e27",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/.ansible/tmp/ansible-tmp-1790302736.8647358-84-222344508427151/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "2aa9d81b86c9bfa36ea6e26217d2423b",
                            "mode": "0644",
                            "owner": "root",
                            "size": 354639,
                            "src": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/.ansible/tmp/ansible-tmp-1790302736.8647358-84-222344508427151/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:57.798188Z",
                            "start": "2026-09-25T02:18:56.827764Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:19:07.326357Z",
                    "start": "2026-09-25T02:18:57.811017Z"
                },
                "id": "0242ac17-0010-a6ca-af68-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/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:58.061576Z",
                            "start": "2026-09-25T02:18:57.831620Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:58.113077Z",
                            "start": "2026-09-25T02:18:58.076900Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.519340",
                            "end": "2026-09-25 02:18:59.115673",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_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-a6ca-af68-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:18:58.596333",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa.pub\nThe key fingerprint is:\nSHA256:gqf54YAUsOY6OorBxD5k7CPrG0sTbaw1ajJlQERSIk0 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|BBE              |\n|++.              |\n|o..              |\n|=.o. .           |\n| O+*. o S        |\n|O+*..+ .         |\n|B&. + .          |\n|O=*  + .         |\n|B=.   o          |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:gqf54YAUsOY6OorBxD5k7CPrG0sTbaw1ajJlQERSIk0 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|BBE              |",
                                "|++.              |",
                                "|o..              |",
                                "|=.o. .           |",
                                "| O+*. o S        |",
                                "|O+*..+ .         |",
                                "|B&. + .          |",
                                "|O=*  + .         |",
                                "|B=.   o          |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-a6ca-af68-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:59.165226Z",
                            "start": "2026-09-25T02:18:58.152775Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:59.220357Z",
                            "start": "2026-09-25T02:18:59.176437Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:59.263663Z",
                            "start": "2026-09-25T02:18:59.250161Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCTacUJeEHRR1+77ssfFWGZlRAS4DInyEIg4EGexk8SC5jcW4NtrWFnv1lybxtypJCrIwzX/2KYERhVqvJl5cvfn673gqWSGnxLdJX++2vKDC0fhtbEQXpPPZuxRO3SqdZdrkLW5BN11aGZDI3pB+iDTGZNwnARWxuL+tTbHmNQHXsf9SaTvn4bcrxZvWejwBcQcQ4AQwSBVdfvBhEyHsaDuKAg6ulbuTHD9Ukz8c+Jv2XlzzjDujwZStNRkJeBjadPDQKSuHj7KsI6YLEPz/a5v3J4hRAndbeJ32JOp4uPG5AViK33KSnDy18TECBdY4/x6k8PCe5MTFXg4H6IFg5IIgG/PhKuuI7GB0hBvJFPGzmgbybjEwwSxDxHu8e9OYc95wE0jpBVCEGNRmUEMsvaZWSOD//pDqq1cN47i5UhySpxNGuRpRWhQHQ+EqYGZOitnJLbzGqYkgwBZ/lmJ3CsBWiTtQrYAU42caeKPvAKNRIwtU0pqSTu401ccwDdPLs= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCTacUJeEHRR1+77ssfFWGZlRAS4DInyEIg4EGexk8SC5jcW4NtrWFnv1lybxtypJCrIwzX/2KYERhVqvJl5cvfn673gqWSGnxLdJX++2vKDC0fhtbEQXpPPZuxRO3SqdZdrkLW5BN11aGZDI3pB+iDTGZNwnARWxuL+tTbHmNQHXsf9SaTvn4bcrxZvWejwBcQcQ4AQwSBVdfvBhEyHsaDuKAg6ulbuTHD9Ukz8c+Jv2XlzzjDujwZStNRkJeBjadPDQKSuHj7KsI6YLEPz/a5v3J4hRAndbeJ32JOp4uPG5AViK33KSnDy18TECBdY4/x6k8PCe5MTFXg4H6IFg5IIgG/PhKuuI7GB0hBvJFPGzmgbybjEwwSxDxHu8e9OYc95wE0jpBVCEGNRmUEMsvaZWSOD//pDqq1cN47i5UhySpxNGuRpRWhQHQ+EqYGZOitnJLbzGqYkgwBZ/lmJ3CsBWiTtQrYAU42caeKPvAKNRIwtU0pqSTu401ccwDdPLs= 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-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:59.889671Z",
                            "start": "2026-09-25T02:18:59.273989Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:00.133467Z",
                            "start": "2026-09-25T02:18:59.894060Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "03ec057ec71bc5f243a8c9d53a3e8b6419d718e5",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "5dbded4701fc4dee8839bda98d8c394b_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "03ec057ec71bc5f243a8c9d53a3e8b6419d718e5",
                                    "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-1790302740.1861467-190-239941954982824/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4254e1c800baa6d9278a979820956fe3",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302740.1861467-190-239941954982824/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:00.778933Z",
                            "start": "2026-09-25T02:19:00.140308Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "25298950b102d2b28a9e8fa13c4a05841b815e93",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "5dbded4701fc4dee8839bda98d8c394b_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "25298950b102d2b28a9e8fa13c4a05841b815e93",
                                    "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-1790302740.8577082-200-160828613348967/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "f0e66015b6a816e7945d7629c812bed2",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302740.8577082-200-160828613348967/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:01.405154Z",
                            "start": "2026-09-25T02:19:00.796444Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:01.437522Z",
                            "start": "2026-09-25T02:19:01.411565Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:01.834618Z",
                            "start": "2026-09-25T02:19:01.464058Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa"
                            ],
                            "delta": "0:00:00.010567",
                            "end": "2026-09-25 02:19:02.093739",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_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-a6ca-af68-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:19:02.083172",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/5dbded4701fc4dee8839bda98d8c394b_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-a6ca-af68-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:02.126796Z",
                            "start": "2026-09-25T02:19:01.845712Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:02.491505Z",
                            "start": "2026-09-25T02:19:02.131099Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:02.529540Z",
                            "start": "2026-09-25T02:19:02.496326Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:02.960105Z",
                            "start": "2026-09-25T02:19:02.577173Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:06.060690Z",
                            "start": "2026-09-25T02:19:02.971325Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:06.728356Z",
                            "start": "2026-09-25T02:19:06.079642Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-a6ca-af68-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:07.326357Z",
                            "start": "2026-09-25T02:19:06.733589Z"
                        },
                        "id": "0242ac17-0010-a6ca-af68-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-09-25T02:19:20.114040Z",
                    "start": "2026-09-25T02:19:08.105599Z"
                },
                "id": "0242ac17-0010-ee13-b072-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-1790302748.1644123-5-262334348101834/uv-x86_64-unknown-linux-gnu8r4rz2zh.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-1790302748.1644123-5-262334348101834/uv-x86_64-unknown-linux-gnu8r4rz2zh.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ee13-b072-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:10.688440Z",
                            "start": "2026-09-25T02:19:08.116416Z"
                        },
                        "id": "0242ac17-0010-ee13-b072-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.022394",
                            "end": "2026-09-25 02:19:11.073680",
                            "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-ee13-b072-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:19:11.051286",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-ee13-b072-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-ee13-b072-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:19:11.229320Z",
                            "start": "2026-09-25T02:19:10.712772Z"
                        },
                        "id": "0242ac17-0010-ee13-b072-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.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "13.4.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.4.0",
                                    "version": "3.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": ">=4.5.0",
                                    "tag": "13.4.0",
                                    "version": "13.4.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": "105",
                                            "change_message": "chore(deps): update helm release cert-manager to v1.21.2\n\n> \u2139\ufe0f **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [cert-manager](https://cert-manager.io) ([source](https://redirect.github.com/cert-manager/cert-manager)) | minor | `1.18.2` \u2192 `1.21.2` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>cert-manager/cert-manager (cert-manager)</summary>\n\n### [`v1.21.2`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.21.2)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.21.1...v1.21.2)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.21.2 fixes controller and webhook panics, data races, ACME renewal and HTTP-01 solver bugs, and a Gateway API dnsNames bug. It stops the ACME and Vault issuers copying untrusted HTTP response bodies into status conditions and Events, and tightens ambient AWS credential use for namespaced Vault Issuers. It also updates Go and several dependencies to fix reported security vulnerabilities.\n\nAll users should upgrade.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- ACME Issuer response bodies are no longer reflected into Issuer status conditions or Kubernetes Events. Only ACME problem documents are surfaced (bounded in length); other responses are reported by HTTP status code alone, with the full error available in the controller logs. ([#&#8203;9239](https://redirect.github.com/cert-manager/cert-manager/issues/9239), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Cap ACME server response bodies at 16 MiB to guard against unbounded-body denial-of-service. ([#&#8203;9222](https://redirect.github.com/cert-manager/cert-manager/issues/9222), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- De-duplicate dnsNames when multiple Gateway/ListenerSet listeners share a Secret ([#&#8203;9234](https://redirect.github.com/cert-manager/cert-manager/issues/9234), [@&#8203;speer](https://redirect.github.com/speer))\n- Fix certificate renewal windows using February 29 cron schedules across non-leap century years. ([#&#8203;9240](https://redirect.github.com/cert-manager/cert-manager/issues/9240), [@&#8203;wieghx](https://redirect.github.com/wieghx))\n- Fix validating webhook panics when AdmissionReview requests omit optional fields, by routing identity, approval, and resource validation on the always-present Resource/SubResource fields and denying (rather than silently allowing) requests with an unset or mismatched resource. As a side effect, validation is now also enforced for equivalent-converted requests on non-v1 API versions, which previously could skip validation. ([#&#8203;9235](https://redirect.github.com/cert-manager/cert-manager/issues/9235), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Fixed HTTP-01 solver cleanup so that a solver ingress, pod or service that has already been deleted no longer fails the cleanup with a NotFound error. ([#&#8203;9278](https://redirect.github.com/cert-manager/cert-manager/issues/9278), [@&#8203;arpitjain099](https://redirect.github.com/arpitjain099))\n- Fixed a bug where `replaces` field was being populated for the wrong issuer on issuer changes ([#&#8203;9236](https://redirect.github.com/cert-manager/cert-manager/issues/9236), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Fixed a data race in the ACME HTTP-01 self-check that could occur when custom DNS servers were configured. ([#&#8203;9313](https://redirect.github.com/cert-manager/cert-manager/issues/9313), [@&#8203;shashankvarma499](https://redirect.github.com/shashankvarma499))\n- Fixed a panic in the certificates-issuing controller when a CertificateRequest has a failure time set but no Ready condition. ([#&#8203;9238](https://redirect.github.com/cert-manager/cert-manager/issues/9238), [@&#8203;thc1006](https://redirect.github.com/thc1006))\n- Fixed a race in pkg/scheduler where the cleanup of a fired timer could cancel a newer timer scheduled for the same object, silently dropping a rescheduled poll. ([#&#8203;9312](https://redirect.github.com/cert-manager/cert-manager/issues/9312), [@&#8203;shashankvarma499](https://redirect.github.com/shashankvarma499))\n- Fixed an issue where the body of a non-Vault HTTP response from `spec.vault.server` could be copied into the Vault Issuer's Ready condition and its Kubernetes Events. Such responses now report only the HTTP status code, and Vault's own error messages are truncated before being persisted. ([#&#8203;9262](https://redirect.github.com/cert-manager/cert-manager/issues/9262), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Ingress-shim no longer removes the applyset label from cached Ingress and Gateway objects ([#&#8203;9314](https://redirect.github.com/cert-manager/cert-manager/issues/9314), [@&#8203;KR-Ravindra](https://redirect.github.com/KR-Ravindra))\n- The ACME HTTP-01 self-check no longer reflects the fetched response body in `Challenge.status.reason`, preventing disclosure of internal response contents reachable via redirects. The response is still available in the controller's debug logs. ([#&#8203;9232](https://redirect.github.com/cert-manager/cert-manager/issues/9232), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- The `vault` issuer no longer authenticates to Vault using the cert-manager controller's ambient AWS credentials for AWS IAM auth on a namespaced `Issuer`, unless ambient credentials are explicitly enabled via `--issuer-ambient-credentials`. `ClusterIssuer` and explicit `serviceAccountRef` (IRSA) configurations are unaffected. ([#&#8203;9231](https://redirect.github.com/cert-manager/cert-manager/issues/9231), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n\n##### Other (Cleanup or Flake)\n\n- Upgrade Go to 1.26.6, which includes security fixes to the go command, and the crypto/tls, encoding/asn1, encoding/xml, html/template, net, net/http, and net/url packages. ([#&#8203;9151](https://redirect.github.com/cert-manager/cert-manager/issues/9151), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Upgrade Go to 1.26.8. ([#&#8203;9323](https://redirect.github.com/cert-manager/cert-manager/issues/9323), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Bump `google.golang.org/grpc` to v1.83.2 to fix reported security vulnerabilities ([#&#8203;9255](https://redirect.github.com/cert-manager/cert-manager/issues/9255), [#&#8203;9317](https://redirect.github.com/cert-manager/cert-manager/issues/9317))\n- Bump `golang.org/x/crypto` to v0.56.0 to fix reported security vulnerabilities ([#&#8203;9265](https://redirect.github.com/cert-manager/cert-manager/issues/9265))\n\n### [`v1.21.1`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.21.1)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.21.0...v1.21.1)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.21.1 fixes a controller panic for Certificates with `spec.renewal.policy: Disabled`, a regression in 1.21.0 which caused log spam and dropped Secret informer events, Issuers and ClusterIssuers getting stuck at `Ready=False` (`InvalidSolver`) when a referenced ACME DNS-01 solver Secret is created after the Issuer, and the commented Gateway API example in the Helm chart values. It also updates several dependencies to fix reported security vulnerabilities.\n\nAll users should upgrade.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Avoid controller panic if a Certificate sets spec.renewal.policy=Disabled ([#&#8203;9038](https://redirect.github.com/cert-manager/cert-manager/issues/9038), [@&#8203;sklirg](https://redirect.github.com/sklirg))\n- Fix Issuer/ClusterIssuer stuck at Ready=False/InvalidSolver after a missing ACME DNS-01 solver Secret is created ([#&#8203;9083](https://redirect.github.com/cert-manager/cert-manager/issues/9083), [@&#8203;SebTardif](https://redirect.github.com/SebTardif))\n- Fix log spam and dropped Secret informer events for non-cert-manager Secrets, caused by a generics regression introduced in 1.21.0. ([#&#8203;9037](https://redirect.github.com/cert-manager/cert-manager/issues/9037), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Fixed the commented Gateway API config example in the Helm chart values to use `gatewayAPI.enabled` instead of the invalid `gatewayAPI.enable`. ([#&#8203;9012](https://redirect.github.com/cert-manager/cert-manager/issues/9012), [@&#8203;mateenali66](https://redirect.github.com/mateenali66))\n\n##### Other (Cleanup or Flake)\n\n- Bump `golang.org/x/text` to v0.40.0 to fix a reported security vulnerability ([#&#8203;9039](https://redirect.github.com/cert-manager/cert-manager/issues/9039), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Bump `google.golang.org/grpc` to v1.82.1 to fix a reported security vulnerability ([#&#8203;9063](https://redirect.github.com/cert-manager/cert-manager/issues/9063))\n- Bump `github.com/google/cel-go` to v0.29.0 to fix a reported security vulnerability ([#&#8203;9072](https://redirect.github.com/cert-manager/cert-manager/issues/9072))\n- Bump `go.opentelemetry.io/otel` to v1.44.0 to fix a reported security vulnerability ([#&#8203;9073](https://redirect.github.com/cert-manager/cert-manager/issues/9073))\n- Update distroless base images ([#&#8203;9000](https://redirect.github.com/cert-manager/cert-manager/issues/9000), [#&#8203;9025](https://redirect.github.com/cert-manager/cert-manager/issues/9025))\n\n### [`v1.21.0`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.21.0)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.4...v1.21.0)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\ncert-manager 1.21 brings ACME Renewal Information (ARI) support, AWS IAM authentication for the Vault issuer, several security hardening changes, and continued improvements to Gateway API integration and cainjector. There are three breaking changes related to Helm chart RBAC and metrics values \u2014 review them carefully before upgrading.\n\n#### Known Issues\n\n- **Controller crash-loops when a Certificate sets `renewal.policy: Disabled`**: the new Certificate renewal policies feature ([#&#8203;8258](https://redirect.github.com/cert-manager/cert-manager/issues/8258)) causes a nil pointer dereference panic in the trigger controller whenever a Certificate's `spec.renewal.policy` is set to `Disabled` \u2014 `pki.RenewalTime()` returns `(nil, nil)` for that policy, but the caller unconditionally dereferences the result. This crashes the controller process (crash-loop) for any cluster with such a Certificate. **Workaround**: do not set `renewal.policy: Disabled` on any Certificate until this is fixed; remove the field (or set a different policy) from any Certificate that already has it, and restart the controller if it is currently crash-looping. See [#&#8203;9031](https://redirect.github.com/cert-manager/cert-manager/issues/9031) for details.\n- **Log spam for non-cert-manager-labelled Secret events**: the typed predicates refactoring ([#&#8203;8407](https://redirect.github.com/cert-manager/cert-manager/issues/8407)) causes `filteredEventHandler` type assertion failures (`\"OnAdd missing Object\"`, `\"OnUpdate missing ObjectOld\"`, `\"OnDelete missing Object\"`) for every non-cert-manager-labelled Secret event, multiplied by 7 certificate sub-controllers. **This is cosmetic only** \u2014 the affected controllers only need events from cert-manager-labelled Secrets (which arrive via the typed informer); the metadata informer events were always filtered out by predicates in previous versions. Issuer and ClusterIssuer controllers are not affected. See [#&#8203;8994](https://redirect.github.com/cert-manager/cert-manager/issues/8994) for details.\n- **Issuer/ClusterIssuer can get stuck at `Ready: False, Reason: InvalidSolver` and never self-correct**: new eager validation of ACME solver Secrets ([#&#8203;8255](https://redirect.github.com/cert-manager/cert-manager/issues/8255)) means an Issuer/ClusterIssuer referencing a solver Secret (e.g. a DNS01 provider credential) that doesn't exist yet will correctly report `Ready: False`, but creating the missing Secret afterwards does not trigger re-reconciliation \u2014 the controller's Secret-watch logic was never updated to recognise solver Secrets. It will only recover on the next 10-hour informer resync, a change to the Issuer/ClusterIssuer's own spec, or a controller restart. **Workaround**: after creating the missing Secret, make a trivial edit to the Issuer/ClusterIssuer spec (or delete and recreate it) to force reconciliation. See [#&#8203;9036](https://redirect.github.com/cert-manager/cert-manager/issues/9036) for details and a fix proposal.\n\n#### Major Themes\n\n##### Default `tokenrequest` RBAC removed from Helm chart\n\n> \u26a0\ufe0f Breaking change\n\nThe Helm chart no longer creates a default `Role` and `RoleBinding` granting the cert-manager controller permission to create tokens for its own ServiceAccount (`serviceaccounts/token: create`). No documented workflow requires this RBAC \u2014 the Route53 docs section that motivated it was removed in 2024.\n\nIf you use `serviceAccountRef.name` pointing at the controller ServiceAccount, you must now either create your own `Role`/`RoleBinding` granting `serviceaccounts/token: create`, or migrate to a dedicated ServiceAccount (recommended \u2014 see the [Vault](https://cert-manager.io/docs/configuration/vault/) or [Route53](https://cert-manager.io/docs/configuration/acme/dns01/route53/) documentation).\n\n##### Restrict Challenge and Order RBAC in `cert-manager-edit` ClusterRole\n\n> \u26a0\ufe0f Potentially breaking change\n\nThe `cert-manager-edit` aggregate ClusterRole no longer grants `create` for `challenges.acme.cert-manager.io` or `create`, `patch`, `update` for `orders.acme.cert-manager.io` ([`GHSA-8rvj-mm4h-c258`](https://redirect.github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258)). These resources are internal to cert-manager's ACME workflow. Challenge `patch` and `update` are retained because users may need them to remove stuck finalizers.\n\nThis change was already shipped in v1.20.3 and v1.19.6, so if you are running one of those versions this will not be a breaking change. If you have tooling that creates Challenge or Order resources directly, you will need to grant those permissions explicitly.\n\n##### Metrics port name and path Helm values removed\n\n> \u26a0\ufe0f Breaking change\n\nThe Helm values `prometheus.servicemonitor.targetPort`, `prometheus.servicemonitor.path`, and `prometheus.podmonitor.path` have been removed. The controller Service metrics port has been renamed from `tcp-prometheus-servicemonitor` to `http-metrics`. Because the Helm values schema uses `additionalProperties: false`, users who still have any of the removed keys in their values overrides will see a schema validation error on upgrade \u2014 remove them before upgrading. ([#&#8203;8952](https://redirect.github.com/cert-manager/cert-manager/issues/8952))\n\n##### ACME and Certificate Management\n\n- **ACME Renewal Information (ARI)**: experimental support for [RFC 9773](https://www.rfc-editor.org/rfc/rfc9773) behind the `ACMEUseARI` feature gate. When enabled, cert-manager queries the ACME server's `renewalInfo` endpoint for the recommended renewal window, allowing servers like Let's Encrypt to proactively prompt renewal during mass revocations or CA key rollovers. ([#&#8203;8798](https://redirect.github.com/cert-manager/cert-manager/issues/8798))\n- **`waitInsteadOfSelfCheck` solver option**: skip cert-manager's own self-check and instead wait a configured duration before asking the ACME server to validate. An escape hatch for split-horizon DNS and NAT hairpin environments. See [configuration details](https://cert-manager.io/docs/configuration/acme/#skip-the-self-check-with-waitinsteadofselfcheck). ([#&#8203;8858](https://redirect.github.com/cert-manager/cert-manager/issues/8858))\n- **AWS IAM authentication for Vault**: the Vault issuer now supports IRSA, EKS Pod Identity, and ambient EC2/ECS credentials, removing the need for long-lived AWS Secrets. ([#&#8203;8422](https://redirect.github.com/cert-manager/cert-manager/issues/8422))\n- **Certificate renewal policies**: a new `renewalPolicies` field on the Certificate API provides more expressive control over renewal scheduling, complementing `renewBefore` and `renewBeforePercentage`. ([#&#8203;8258](https://redirect.github.com/cert-manager/cert-manager/issues/8258))\n- **Configurable CertificateRequest retry backoff**: the new `--certificate-request-maximum-backoff-duration` flag (default: 32 hours) caps the exponential backoff for failed CertificateRequests, useful for environments with scheduled CA maintenance windows. ([#&#8203;8893](https://redirect.github.com/cert-manager/cert-manager/issues/8893))\n- **Modern2026 [PKCS#12](https://redirect.github.com/PKCS/cert-manager/issues/12) profile**: a new FIPS 140-3 compatible encoding profile using AES-256 + SHA-256 KDFs instead of legacy 3DES/RC2. ([#&#8203;8841](https://redirect.github.com/cert-manager/cert-manager/issues/8841))\n- **Webhook certificate renewal after system suspend**: the webhook now detects missed certificate renewals after system suspend (S3/S4) or VM live migration by polling wall-clock time, recovering within one minute of resume. ([#&#8203;8464](https://redirect.github.com/cert-manager/cert-manager/issues/8464))\n\n##### Gateway API and cainjector\n\n- **HTTP01 ListenerSet parentRef fallback**: the `acme.cert-manager.io/http01-parentreffallback: \"true\"` annotation causes cert-manager to use the parent Gateway for solver HTTPRoutes instead of the ListenerSet, enabling TLS-only ListenerSets to use a shared HTTP listener for ACME challenges. ([#&#8203;8749](https://redirect.github.com/cert-manager/cert-manager/issues/8749))\n- **`cert-manager.io/ignore-tls-listeners` annotation**: exclude specific Gateway TLS listeners from certificate management. ([#&#8203;8727](https://redirect.github.com/cert-manager/cert-manager/issues/8727))\n- **Additional listener protocols**: configurable listener protocols beyond the default set. ([#&#8203;8683](https://redirect.github.com/cert-manager/cert-manager/issues/8683))\n- **`enableGatewayAPI` configuration restructure**: `enableGatewayAPI` and `enableGatewayAPIListenerSet` are deprecated in favor of `gatewayAPI.enabled` / `gatewayAPI.enableListenerSet`. The old fields continue to work. ([#&#8203;8732](https://redirect.github.com/cert-manager/cert-manager/issues/8732))\n- **`CAInjectorMerging` promoted to GA**: unconditionally enabled; will be removed in a future release. ([#&#8203;8583](https://redirect.github.com/cert-manager/cert-manager/issues/8583))\n- **cainjector server-side apply unconditional**: the `ServerSideApply` feature gate is deprecated. ([#&#8203;8692](https://redirect.github.com/cert-manager/cert-manager/issues/8692))\n- **cainjector `--ignore-namespaces` flag**: skip specified namespaces when watching Secrets for injection. ([#&#8203;8614](https://redirect.github.com/cert-manager/cert-manager/issues/8614))\n\n##### Deployment and Observability\n\n- **Venafi OAuth token observability**: a new `AuthFailed` Issuer condition reason distinguishes bad credentials from transient errors. PANW NGTS is now supported as a Venafi backend. ([#&#8203;8808](https://redirect.github.com/cert-manager/cert-manager/issues/8808), [#&#8203;8779](https://redirect.github.com/cert-manager/cert-manager/issues/8779))\n- **`runtimeClassName` support**: configurable for cert-manager components and ACME HTTP01 solver pods. ([#&#8203;8791](https://redirect.github.com/cert-manager/cert-manager/issues/8791), [#&#8203;8976](https://redirect.github.com/cert-manager/cert-manager/issues/8976))\n- **`startupapicheck.ttlSecondsAfterFinished`**: opt-in automatic cleanup of the startupapicheck Job. ([#&#8203;8523](https://redirect.github.com/cert-manager/cert-manager/issues/8523))\n- **`--acme-http01-solver-extra-labels`**: propagate `global.commonLabels` to dynamically-created ACME HTTP01 solver resources. ([#&#8203;8761](https://redirect.github.com/cert-manager/cert-manager/issues/8761))\n\n##### Notable Bug Fixes\n\n- **Integer overflow in `renewBeforePercentage`**: Certificates with durations longer than approximately 3 years were incorrectly rejected or assigned incorrect renewal times. ([#&#8203;8947](https://redirect.github.com/cert-manager/cert-manager/issues/8947))\n- **Infinite re-issuance loop**: cert-manager no longer loops when an issuer returns an already-expired certificate. ([#&#8203;8610](https://redirect.github.com/cert-manager/cert-manager/issues/8610))\n- **ACME transient network errors**: challenges no longer permanently fail on TLS handshake timeouts, DNS resolution failures, or context cancellation during nonce fetches and authorization waits. ([#&#8203;8760](https://redirect.github.com/cert-manager/cert-manager/issues/8760))\n- **DNS-over-HTTPS response body cap**: response body reads are now bounded at 128 KB to prevent potential OOM. ([#&#8203;8803](https://redirect.github.com/cert-manager/cert-manager/issues/8803))\n- **Vault path traversal**: the Vault issuer webhook now rejects `..` path segments, preventing `path.Join` from silently resolving relative segments. ([#&#8203;8930](https://redirect.github.com/cert-manager/cert-manager/issues/8930))\n- **DNS issuer secrets validated before ready**: prevents silent misconfiguration. ([#&#8203;8255](https://redirect.github.com/cert-manager/cert-manager/issues/8255))\n\n#### Community\n\nAs always, we'd like to thank all of the community members who helped in this release cycle, including all below who merged a PR and anyone that helped by commenting on issues, testing, or getting involved in cert-manager meetings. We're lucky to have you involved.\n\nA special thanks to:\n\n- [@&#8203;Copilot](https://redirect.github.com/Copilot)\n- [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps)\n- [@&#8203;Peac36](https://redirect.github.com/Peac36)\n- [@&#8203;SebTardif](https://redirect.github.com/SebTardif)\n- [@&#8203;apkatsikas](https://redirect.github.com/apkatsikas)\n- [@&#8203;bitloi](https://redirect.github.com/bitloi)\n- [@&#8203;dap0am](https://redirect.github.com/dap0am)\n- [@&#8203;figaw](https://redirect.github.com/figaw)\n- [@&#8203;immanuwell](https://redirect.github.com/immanuwell)\n- [@&#8203;jabbrwcky](https://redirect.github.com/jabbrwcky)\n- [@&#8203;jnohlgard](https://redirect.github.com/jnohlgard)\n- [@&#8203;jsoref](https://redirect.github.com/jsoref)\n- [@&#8203;ltwongaa](https://redirect.github.com/ltwongaa)\n- [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite)\n- [@&#8203;mateenali66](https://redirect.github.com/mateenali66)\n- [@&#8203;onurmicoogullari](https://redirect.github.com/onurmicoogullari)\n- [@&#8203;putongyong](https://redirect.github.com/putongyong)\n- [@&#8203;seanorama](https://redirect.github.com/seanorama)\n- [@&#8203;texasich](https://redirect.github.com/texasich)\n\nfor their contributions, comments and support!\n\nAlso, thanks to the cert-manager maintainer team for their help in this release:\n\n- [@&#8203;SgtCoDFish](https://redirect.github.com/SgtCoDFish)\n- [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot)\n- [@&#8203;erikgb](https://redirect.github.com/erikgb)\n- [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123)\n- [@&#8203;inteon](https://redirect.github.com/inteon)\n- [@&#8203;maelvls](https://redirect.github.com/maelvls)\n- [@&#8203;munnerz](https://redirect.github.com/munnerz)\n- [@&#8203;wallrj](https://redirect.github.com/wallrj)\n- [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark)\n\nAnd finally, thanks to the cert-manager steering committee for their feedback in this release cycle:\n\n- [@&#8203;FlorianLiebhart](https://redirect.github.com/FlorianLiebhart)\n- [@&#8203;TrilokGeer](https://redirect.github.com/TrilokGeer)\n- [@&#8203;ianarsenault](https://redirect.github.com/ianarsenault)\n- [@&#8203;ssyno](https://redirect.github.com/ssyno)\n\n#### Changes since v1.20.0\n\n##### Feature\n\n- Add Venafi OAuth token request observability and a new `AuthFailed` Issuer condition reason to distinguish bad credentials from transient infrastructure errors. ([#&#8203;8808](https://redirect.github.com/cert-manager/cert-manager/issues/8808), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Add `certificateRequestMaximumBackoffDuration` controller configuration option to cap retry backoff time for failed CertificateRequests. Configurable via config file, `--certificate-request-maximum-backoff-duration` CLI flag, or Helm value `config.certificateRequestMaximumBackoffDuration`. Defaults to 32 hours for backward compatibility. ([#&#8203;8893](https://redirect.github.com/cert-manager/cert-manager/issues/8893), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Add an optional `waitInsteadOfSelfCheck` field to ACME HTTP01 and DNS01 solvers so cert-manager can skip its own self-check and ask the ACME server to validate after a configured wait. ([#&#8203;8858](https://redirect.github.com/cert-manager/cert-manager/issues/8858), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Add configurable `runtimeClassName` support for cert-manager components and ACME HTTP01 solver pods. ([#&#8203;8791](https://redirect.github.com/cert-manager/cert-manager/issues/8791), [@&#8203;jsoref](https://redirect.github.com/jsoref))\n- Add direct configurable `runtimeClassName` support for ACME HTTP01 solver pods via the `acmesolver.runtimeClassName` Helm value. ([#&#8203;8976](https://redirect.github.com/cert-manager/cert-manager/issues/8976), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Add new controller flag `--acme-http01-solver-extra-labels`, allowing Helm's `global.commonLabels` to propagate to all dynamically-created ACME HTTP01 solver resources (Pods, Services, Ingresses, or Gateway API HTTPRoutes). ([#&#8203;8761](https://redirect.github.com/cert-manager/cert-manager/issues/8761), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Add opt-in `startupapicheck.ttlSecondsAfterFinished` Helm value to enable automatic cleanup of the startupapicheck Job via the Kubernetes TTL-after-finished controller. ([#&#8203;8523](https://redirect.github.com/cert-manager/cert-manager/issues/8523), [@&#8203;dap0am](https://redirect.github.com/dap0am))\n- Added ARI support through the ACMEUseARI feature gate. ([#&#8203;8798](https://redirect.github.com/cert-manager/cert-manager/issues/8798), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added AWS IAM authentication support for Vault issuer, including IRSA (IAM Roles for Service Accounts) and ambient credentials (EC2/ECS). ([#&#8203;8422](https://redirect.github.com/cert-manager/cert-manager/issues/8422), [@&#8203;bitloi](https://redirect.github.com/bitloi))\n- Added `cert-manager.io/ignore-tls-listeners` annotation for ignoring gwapi listeners. ([#&#8203;8727](https://redirect.github.com/cert-manager/cert-manager/issues/8727), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added option to specify additional listener protocols the GatewayAPI integration will consider when creating certificates. ([#&#8203;8683](https://redirect.github.com/cert-manager/cert-manager/issues/8683), [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot))\n- Adds support for the Modern2026 go-pkcs12 profile and FIPS 140-3 ([#&#8203;8841](https://redirect.github.com/cert-manager/cert-manager/issues/8841), [@&#8203;seanorama](https://redirect.github.com/seanorama))\n- Cainjector: A new flag `--ignore-namespaces` was added to the cainjector binary. It can be used to filter out namespaces from being watched for secrets to use for injectables. ([#&#8203;8614](https://redirect.github.com/cert-manager/cert-manager/issues/8614), [@&#8203;figaw](https://redirect.github.com/figaw))\n- Disabled client side rate-limiting if AP\\&F is enabled. ([#&#8203;8757](https://redirect.github.com/cert-manager/cert-manager/issues/8757), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Extend the Venafi/CyberArk integration to also support PANW NGTS. ([#&#8203;8779](https://redirect.github.com/cert-manager/cert-manager/issues/8779), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Adding certificate renewal policies ([#&#8203;8258](https://redirect.github.com/cert-manager/cert-manager/issues/8258), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Make cainjector use SSA unconditionally and deprecate the ServerSideApply feature gate ([#&#8203;8692](https://redirect.github.com/cert-manager/cert-manager/issues/8692), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Processed annotations `cert-manager.io/alt-names`, `cert-manager.io/ip-sans` to Certificates generated from ingress like objects in cert-shim controllers. ([#&#8203;8927](https://redirect.github.com/cert-manager/cert-manager/issues/8927), [@&#8203;jabbrwcky](https://redirect.github.com/jabbrwcky))\n- Promote the CAInjectorMerging feature gate to GA ([#&#8203;8583](https://redirect.github.com/cert-manager/cert-manager/issues/8583), [@&#8203;Copilot](https://redirect.github.com/Copilot))\n- When using ACME HTTP-01 with a ListenerSet, setting the annotation `acme.cert-manager.io/http01-parentreffallback: \"true\"` causes cert-manager to use the parent Gateway as the solver HTTPRoute parentRef instead of the ListenerSet. This enables TLS-only ListenerSets to rely on a shared Gateway HTTP listener for ACME challenges. ([#&#8203;8749](https://redirect.github.com/cert-manager/cert-manager/issues/8749), [@&#8203;apkatsikas](https://redirect.github.com/apkatsikas))\n\n##### Bug or Regression\n\n- **BREAKING**: The Helm chart no longer ships a default `Role` and `RoleBinding` granting the cert-manager controller ServiceAccount permission to create tokens for itself (`serviceaccounts/token: create`). This RBAC was added in v1.16 ([#&#8203;7213](https://redirect.github.com/cert-manager/cert-manager/issues/7213)) but no documented workflow requires it, and the motivating Route53 docs section was removed in Oct 2024. If you rely on `serviceAccountRef.name` pointing at the controller ServiceAccount (an undocumented pattern), you must now create your own `Role` and `RoleBinding` granting `serviceaccounts/token: create` on that ServiceAccount, or migrate to one of the documented patterns (IRSA ambient, or a dedicated ServiceAccount with its own RBAC). ([#&#8203;8931](https://redirect.github.com/cert-manager/cert-manager/issues/8931), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- ACME challenges no longer terminally fail on transient network errors (TLS handshake timeouts, DNS failures, context cancellation) during nonce fetches and authorization waits. The challenge controller returns the error and lets the workqueue retry with backoff. ([#&#8203;8760](https://redirect.github.com/cert-manager/cert-manager/issues/8760), [@&#8203;texasich](https://redirect.github.com/texasich))\n- Add dns issuer secrets validation before marking it as ready ([#&#8203;8255](https://redirect.github.com/cert-manager/cert-manager/issues/8255), [@&#8203;Peac36](https://redirect.github.com/Peac36))\n- Add missing issuer finalizer RBAC to the order controller to support owner references ([#&#8203;8654](https://redirect.github.com/cert-manager/cert-manager/issues/8654), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- ClusterIssuer metrics collector now correctly respects the enabled-controllers configuration, avoiding a redundant startup when only operating within a namespace. ([#&#8203;8822](https://redirect.github.com/cert-manager/cert-manager/issues/8822), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Fix Venafi TPP issuer setup and signing regression on master: restore authentication of the vcert connector in the client constructor, which was removed in [#&#8203;8808](https://redirect.github.com/cert-manager/cert-manager/issues/8808). ([#&#8203;8843](https://redirect.github.com/cert-manager/cert-manager/issues/8843), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Fix a performance issue in the certificateRequestApproval webhook where CertificateRequests referencing a GroupKind whose CRD is not yet installed would trigger repeated API server discovery queries on every admission request. Negative results are now cached for 30 seconds. ([#&#8203;8651](https://redirect.github.com/cert-manager/cert-manager/issues/8651), [@&#8203;mateenali66](https://redirect.github.com/mateenali66))\n- Fix webhook serving certificate not being renewed after system suspend. ([#&#8203;8464](https://redirect.github.com/cert-manager/cert-manager/issues/8464), [@&#8203;Peac36](https://redirect.github.com/Peac36))\n- Fixed a rare panic in the trigger controller when a Certificate is deleted from the informer cache while a reconcile is in progress (e.g. during namespace teardown). ([#&#8203;8962](https://redirect.github.com/cert-manager/cert-manager/issues/8962), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Fixed an integer overflow in `renewBeforePercentage` calculations that caused Certificates with durations longer than approximately 3 years to be incorrectly rejected by validation or assigned incorrect renewal times. ([#&#8203;8947](https://redirect.github.com/cert-manager/cert-manager/issues/8947), [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot))\n- Fixed duplicate `parentRef` bug when both issuer config and annotations are present. ([#&#8203;8619](https://redirect.github.com/cert-manager/cert-manager/issues/8619), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Fixed infinite re-issuance loop when issuer returns an already expired certificate ([#&#8203;8610](https://redirect.github.com/cert-manager/cert-manager/issues/8610), [@&#8203;onurmicoogullari](https://redirect.github.com/onurmicoogullari))\n- Fixed local `e2e-setup-samplewebhook` installation to use the samplewebhook image repository and tag from the saved image tarball manifest. ([#&#8203;8821](https://redirect.github.com/cert-manager/cert-manager/issues/8821), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Fixed potential OOM in DNS-over-HTTPS client by bounding response body read with io.LimitReader (128 KB cap). ([#&#8203;8803](https://redirect.github.com/cert-manager/cert-manager/issues/8803), [@&#8203;SebTardif](https://redirect.github.com/SebTardif))\n- Fixed validation of timezone-prefixed renewal window cron specs without a schedule. ([#&#8203;8813](https://redirect.github.com/cert-manager/cert-manager/issues/8813), [@&#8203;immanuwell](https://redirect.github.com/immanuwell))\n- Helm chart bugfix: rename image helper to avoid umbrella chart conflicts ([#&#8203;8753](https://redirect.github.com/cert-manager/cert-manager/issues/8753), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Helm: Fix invalid YAML generated when both `webhook.config` and `webhook.volumes` are defined. ([#&#8203;8664](https://redirect.github.com/cert-manager/cert-manager/issues/8664), [@&#8203;jnohlgard](https://redirect.github.com/jnohlgard))\n- Remove ACME Challenge `create` and Order `create`/`patch`/`update` from the cert-manager-edit aggregate ClusterRole to prevent direct manipulation of these internal resources (GHSA-8rvj-mm4h-c258). ([#&#8203;8958](https://redirect.github.com/cert-manager/cert-manager/issues/8958), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Remove issuer owner reference from challenges blocking challenge garbage collection ([#&#8203;8743](https://redirect.github.com/cert-manager/cert-manager/issues/8743), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Update logic to identify and preserve the secret matching nextPrivateKeySecretName ([#&#8203;8577](https://redirect.github.com/cert-manager/cert-manager/issues/8577), [@&#8203;putongyong](https://redirect.github.com/putongyong))\n- Vault Issuer webhook validation now rejects `..` path segments in `spec.vault.path` and auth mount path fields, preventing `path.Join` from silently resolving relative segments before constructing the Vault API request. ([#&#8203;8930](https://redirect.github.com/cert-manager/cert-manager/issues/8930), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n\n##### Other (Cleanup or Flake)\n\n- API cleanup: removed deprecated ObjectReference ([#&#8203;8625](https://redirect.github.com/cert-manager/cert-manager/issues/8625), [@&#8203;inteon](https://redirect.github.com/inteon))\n- Remove Helm values `prometheus.servicemonitor.targetPort`, `prometheus.servicemonitor.path`, and `prometheus.podmonitor.path`. The metrics path is always `/metrics` and the target port is always `http-metrics`. Rename the controller service metrics port from `tcp-prometheus-servicemonitor` to `http-metrics` for consistency with other workloads. Users must remove these keys from their value overrides before upgrading. ([#&#8203;8952](https://redirect.github.com/cert-manager/cert-manager/issues/8952), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- The `enableGatewayAPI` and `enableGatewayAPIListenerSet` fields on `ControllerConfiguration` are deprecated and moved into the `gatewayAPI` sub-struct as `gatewayAPI.enabled` and `gatewayAPI.enableListenerSet`. The old fields continue to work. ([#&#8203;8732](https://redirect.github.com/cert-manager/cert-manager/issues/8732), [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot))\n- Update base images to Debian 13 ([#&#8203;8849](https://redirect.github.com/cert-manager/cert-manager/issues/8849), [@&#8203;ltwongaa](https://redirect.github.com/ltwongaa))\n\n### [`v1.20.4`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.4)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.3...v1.20.4)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nThis patch release updates Go and several dependencies to fix reported security vulnerabilities, and fixes a bug where ingress-shim removed the applyset label from cached Ingress and Gateway objects.\n\nAll users should upgrade.\n\n> \\[!NOTE]\n> **Security scanners still report three `golang.org/x/crypto` findings.** None of them affects cert-manager and we do not plan to fix them in the 1.20 line.\n>\n> - [CVE-2026-56855](https://nvd.nist.gov/vuln/detail/CVE-2026-56855) and [CVE-2026-78662](https://nvd.nist.gov/vuln/detail/CVE-2026-78662) are deadlocks in the `golang.org/x/crypto/ssh` connection multiplexer, triggered by a malicious SSH peer after a connection is established. cert-manager never opens an SSH connection. Only the controller links the `ssh` package, through `vcert`, which uses it to format a public key. The fix, `golang.org/x/crypto` v0.56.0, requires Go language version 1.26, which we will not adopt in a patch release. `govulncheck` confirms the vulnerable functions are not called.\n> - [GO-2026-5932](https://pkg.go.dev/vuln/GO-2026-5932) marks `golang.org/x/crypto/openpgp` as unmaintained. cert-manager does not import that package and there is no fixed version.\n>\n> cert-manager 1.21 already uses `golang.org/x/crypto` v0.56.0, so upgrade to 1.21 if you need a clean scan.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Ingress-shim no longer removes the applyset label from cached Ingress and Gateway objects ([#&#8203;9315](https://redirect.github.com/cert-manager/cert-manager/issues/9315), [@&#8203;KR-Ravindra](https://redirect.github.com/KR-Ravindra))\n\n##### Other (Cleanup or Flake)\n\n- Update Go to 1.26.5 and then 1.26.6, which include security fixes to the go command, and the crypto/tls, encoding/asn1, encoding/xml, html/template, net, net/http, and net/url packages ([#&#8203;8995](https://redirect.github.com/cert-manager/cert-manager/issues/8995), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark); [#&#8203;9152](https://redirect.github.com/cert-manager/cert-manager/issues/9152), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Bump `golang.org/x/net` to v0.58.0, `golang.org/x/text` to v0.41.0 and `golang.org/x/crypto` to v0.55.0 to fix [CVE-2026-46600](https://nvd.nist.gov/vuln/detail/CVE-2026-46600), [CVE-2026-56852](https://nvd.nist.gov/vuln/detail/CVE-2026-56852) and [CVE-2026-56854](https://nvd.nist.gov/vuln/detail/CVE-2026-56854) ([#&#8203;9040](https://redirect.github.com/cert-manager/cert-manager/issues/9040), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Bump `google.golang.org/grpc` to v1.83.2 to fix [CVE-2026-84304](https://redirect.github.com/grpc/grpc-go/security/advisories/GHSA-vp52-pcj8-j9qc), [CVE-2026-84445](https://redirect.github.com/grpc/grpc-go/security/advisories/GHSA-2v4p-qf9q-27wj), [CVE-2026-84303](https://nvd.nist.gov/vuln/detail/CVE-2026-84303) and [one further advisory](https://redirect.github.com/advisories/GHSA-hrxh-6v49-42gf) ([#&#8203;9062](https://redirect.github.com/cert-manager/cert-manager/issues/9062), [#&#8203;9257](https://redirect.github.com/cert-manager/cert-manager/issues/9257), [#&#8203;9316](https://redirect.github.com/cert-manager/cert-manager/issues/9316))\n- Bump `github.com/google/cel-go` to v0.30.0 to fix [a reported vulnerability](https://redirect.github.com/advisories/GHSA-gcjh-h69q-9w9g) ([#&#8203;9070](https://redirect.github.com/cert-manager/cert-manager/issues/9070), [#&#8203;9186](https://redirect.github.com/cert-manager/cert-manager/issues/9186))\n- Bump `software.sslmate.com/src/go-pkcs12` to v0.7.2 to fix [a reported vulnerability](https://redirect.github.com/advisories/GHSA-mpwr-8vm7-h73f) ([#&#8203;8988](https://redirect.github.com/cert-manager/cert-manager/issues/8988))\n- Bump `golang.org/x/mod`, `go.opentelemetry.io/otel` and `go.etcd.io/etcd/client/pkg/v3` to versions flagged by security scanners ([#&#8203;9143](https://redirect.github.com/cert-manager/cert-manager/issues/9143), [#&#8203;9071](https://redirect.github.com/cert-manager/cert-manager/issues/9071), [#&#8203;9185](https://redirect.github.com/cert-manager/cert-manager/issues/9185))\n- Update the distroless base images ([#&#8203;8991](https://redirect.github.com/cert-manager/cert-manager/issues/8991), [#&#8203;9024](https://redirect.github.com/cert-manager/cert-manager/issues/9024), [#&#8203;9055](https://redirect.github.com/cert-manager/cert-manager/issues/9055), [#&#8203;9325](https://redirect.github.com/cert-manager/cert-manager/issues/9325))\n- The release staging process now signs `metadata.json` with cosign so the publish step can verify its authenticity ([#&#8203;9090](https://redirect.github.com/cert-manager/cert-manager/issues/9090), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n\n### [`v1.20.3`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.3)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.2...v1.20.3)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nThis patch release fixes a security issue ([`GHSA-8rvj-mm4h-c258`](https://redirect.github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258), HIGH) where the default `cert-manager-edit` aggregate ClusterRole granted namespace users permission to create ACME `Challenge` and `Order` resources directly. A user who could create a `Challenge` referencing a `ClusterIssuer` could supply attacker-controlled solver configuration while cert-manager loaded credentials from the `ClusterIssuer`'s namespace, bypassing Issuer solver selectors (`dnsZones`, `dnsNames`, `matchLabels`). With the acme-dns provider specifically, this could disclose DNS credentials to an attacker-controlled endpoint.\n\nThis release also removes the issuer owner reference from Challenges which was blocking Challenge garbage collection, and updates Go to fix reported CVEs.\n\nAll users should upgrade.\n\n> \\[!WARNING]\n> **Potentially breaking change:** The `cert-manager-edit` aggregate ClusterRole no longer grants `create` for `challenges.acme.cert-manager.io` or `create`, `patch`, `update` for `orders.acme.cert-manager.io`. These resources are internal to cert-manager's ACME workflow and are not intended to be created or modified directly by users. If you have tooling or workflows that create Challenge or Order resources directly (outside of the normal Certificate \u2192 CertificateRequest \u2192 Order \u2192 Challenge flow), you will need to grant those permissions explicitly.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Security (HIGH): Remove Challenge `create` and Order `create`, `patch`, `update` verbs from the `cert-manager-edit` aggregate ClusterRole ([`GHSA-8rvj-mm4h-c258`](https://redirect.github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258)). ([#&#8203;8940](https://redirect.github.com/cert-manager/cert-manager/issues/8940), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Remove issuer owner reference from challenges blocking challenge garbage collection ([#&#8203;8759](https://redirect.github.com/cert-manager/cert-manager/issues/8759), [@&#8203;cert-manager-bot](https://redirect.github.com/cert-manager-bot))\n\n##### Other (Cleanup or Flake)\n\n- Bump go to 1.26.3, other deps to fix several govulncheck issues ([#&#8203;8789](https://redirect.github.com/cert-manager/cert-manager/issues/8789), [@&#8203;SgtCoDFish](https://redirect.github.com/SgtCoDFish))\n- Update Go to `v1.26.4` to fix CVE-2026-27145, CVE-2026-42504, and CVE-2026-42507 ([#&#8203;8926](https://redirect.github.com/cert-manager/cert-manager/issues/8926), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n\n### [`v1.20.2`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.2)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.1...v1.20.2)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.20.2 fixes invalid YAML generated in the Helm chart when both `webhook.config`\nand `webhook.volumes` are defined, and bumps Go to 1.26.2 along with dependencies\nto address reported vulnerabilities.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Helm: Fix invalid YAML generated when both `webhook.config` and `webhook.volumes` are defined. ([#&#8203;8665](https://redirect.github.com/cert-manager/cert-manager/issues/8665), [@&#8203;cert-manager-bot](https://redirect.github.com/cert-manager-bot))\n\n##### Other (Cleanup or Flake)\n\n- Bump go dependencies with reported vulnerabilities ([#&#8203;8704](https://redirect.github.com/cert-manager/cert-manager/issues/8704), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Bump go to 1.26.2 ([#&#8203;8703](https://redirect.github.com/cert-manager/cert-manager/issues/8703), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n\n### [`v1.20.1`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.1)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.0...v1.20.1)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.20.1 fixes an issue for OpenShift users that has to do with the finalizer RBAC, bumps gRPC to address a reported non-affecting vulnerability, and fixes a duplicate `parentRef` bug when both issuer config and annotations are present (Gateway API).\n\n##### Bug or Regression\n\n- Fixed duplicate `parentRef` bug when both issuer config and annotations are present. ([#&#8203;8658](https://redirect.github.com/cert-manager/cert-manager/issues/8658), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Add missing issuer finalizer RBAC to the order controller to support owner references. This was preventing OpenShift users from being able to upgrade to v1.20.0. ([#&#8203;8655](https://redirect.github.com/cert-manager/cert-manager/issues/8655), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Bump google.golang.org/grpc to fix vulnerability reported by scanners. This isn't a vulnerability that affects cert-manager, but we are bumping it because it is reported by scanners. ([#&#8203;8657](https://redirect.github.com/cert-manager/cert-manager/issues/8657), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n\n### [`v1.20.0`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.0)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.19.6...v1.20.0)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.20.0 adds alpha support for the new ListenerSet resource, adds support for Azure Private DNS; parentRefs are no longer required when using ACME with Gateway API, and OtherNames was promoted to Beta.\n\n#### Changes by Kind\n\n##### Feature\n\n- Added a set of flags to permit setting NetworkPolicy across all deployed containers. Remove redundant global IP ranges from example policies. ([#&#8203;8370](https://redirect.github.com/cert-manager/cert-manager/issues/8370), [@&#8203;jcpunk](https://redirect.github.com/jcpunk))\n- Added selectable fields to custom resource definitions for .spec.issuerRef.{group, kind, name} ([#&#8203;8256](https://redirect.github.com/cert-manager/cert-manager/issues/8256), [@&#8203;tareksha](https://redirect.github.com/tareksha))\n- Added support for specifying `imagePullSecrets` in the `startupapicheck-job` Helm template to enable pulling images from private registries. ([#&#8203;8186](https://redirect.github.com/cert-manager/cert-manager/issues/8186), [@&#8203;mathieu-clnk](https://redirect.github.com/mathieu-clnk))\n- Added 'extraContainers' helm chart value, allowing the deployment of arbitrary sidecar containers within the cert-manager operator pod. This can be used to support, for e.g., AWS IAM Roles Anywhere for Route53 DNS01 verification. ([#&#8203;8355](https://redirect.github.com/cert-manager/cert-manager/issues/8355), [@&#8203;dancmeyers](https://redirect.github.com/dancmeyers))\n- Added `parentRef` override annotations on the Certificate resource. ([#&#8203;8518](https://redirect.github.com/cert-manager/cert-manager/issues/8518), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added support for azure private zones for dns01 issuer. ([#&#8203;8494](https://redirect.github.com/cert-manager/cert-manager/issues/8494), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added support for configuring PEM decoding size limits, allowing operators to handle larger certificates and keys. ([#&#8203;7642](https://redirect.github.com/cert-manager/cert-manager/issues/7642), [@&#8203;robertlestak](https://redirect.github.com/robertlestak))\n- Added support for unhealthyPodEvictionPolicy in PodDisruptionBudget ([#&#8203;7728](https://redirect.github.com/cert-manager/cert-manager/issues/7728), [@&#8203;jcpunk](https://redirect.github.com/jcpunk))\n- For Venafi provider, read `venafi.cert-manager.io/custom-fields` annotation on Issuer/ClusterIssuer and use it as base with override/append capabilities on Certificate level. ([#&#8203;8301](https://redirect.github.com/cert-manager/cert-manager/issues/8301), [@&#8203;k0da](https://redirect.github.com/k0da))\n- Improve error message when CA issuers are misconfigured to use a clashing secret name ([#&#8203;8374](https://redirect.github.com/cert-manager/cert-manager/issues/8374), [@&#8203;majiayu000](https://redirect.github.com/majiayu000))\n- Introduce a new Ingress annotation `acme.cert-manager.io/http01-ingress-ingressclassname` to override `http01.ingress.ingressClassName` field in HTTP-01 challenge solvers. ([#&#8203;8244](https://redirect.github.com/cert-manager/cert-manager/issues/8244), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Update `global.nodeSelector` to helm chart to perform a `merge` and allow for a single `nodeSelector` to be set across all services. ([#&#8203;8195](https://redirect.github.com/cert-manager/cert-manager/issues/8195), [@&#8203;StingRayZA](https://redirect.github.com/StingRayZA))\n- Vault issuers will now include the Vault server address as one of the default audiences on generated service account tokens. ([#&#8203;8228](https://redirect.github.com/cert-manager/cert-manager/issues/8228), [@&#8203;terinjokes](https://redirect.github.com/terinjokes))\n- Added experimental `XListenerSets` feature gate ([#&#8203;8394](https://redirect.github.com/cert-manager/cert-manager/issues/8394), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n\n##### Documentation\n\n- Add GWAPI documentation to NOTES.TXT in helm chart ([#&#8203;8353](https://redirect.github.com/cert-manager/cert-manager/issues/8353), [@&#8203;jaxels10](https://redirect.github.com/jaxels10))\n\n##### Bug or Regression\n\n- Adds logs for cases when acme server returns us a fatal error in the order controller ([#&#8203;8199](https://redirect.github.com/cert-manager/cert-manager/issues/8199), [@&#8203;Peac36](https://redirect.github.com/Peac36))\n- Fixed an issue where kind or group in the issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly caused the certificate to be renewed ([#&#8203;8160](https://redirect.github.com/cert-manager/cert-manager/issues/8160), [@&#8203;inteon](https://redirect.github.com/inteon))\n- Changes to the Duration and RenewBefore annotations on ingress and gateway-api resources will now trigger certificate updates. ([#&#8203;8232](https://redirect.github.com/cert-manager/cert-manager/issues/8232), [@&#8203;eleanor-merry](https://redirect.github.com/eleanor-merry))\n- Fix an issue where ACME challenge TXT records are not cleaned up when there are many resource records in CloudDNS. ([#&#8203;8456](https://redirect.github.com/cert-manager/cert-manager/issues/8456), [@&#8203;tkna](https://redirect.github.com/tkna))\n- Fix unregulated retries with the DigitalOcean DNS-01 solver\n  Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging ([#&#8203;8221](https://redirect.github.com/cert-manager/cert-manager/issues/8221), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8403](https://redirect.github.com/cert-manager/cert-manager/issues/8403), [@&#8203;calm329](https://redirect.github.com/calm329))\n- Fixed an issue where HTTP-01 challenges failed when the Host header contains an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8424](https://redirect.github.com/cert-manager/cert-manager/issues/8424), [@&#8203;SlashNephy](https://redirect.github.com/SlashNephy))\n- Fixed the HTTP-01 Gateway solver creating invalid HTTPRoutes by not setting spec.hostnames when the challenge DNSName is an IP address. ([#&#8203;8443](https://redirect.github.com/cert-manager/cert-manager/issues/8443), [@&#8203;alviss7](https://redirect.github.com/alviss7))\n- Revert API defaults for issuer reference kind and group introduced in 0.19.0 ([#&#8203;8173](https://redirect.github.com/cert-manager/cert-manager/issues/8173), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8469](https://redirect.github.com/cert-manager/cert-manager/issues/8469), [@&#8203;SgtCoDFish](https://redirect.github.com/SgtCoDFish))\n- Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8290](https://redirect.github.com/cert-manager/cert-manager/issues/8290), [@&#8203;octo-sts](https://redirect.github.com/octo-sts)\\[bot])\n- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of `cert-manager`. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). ([#&#8203;8162](https://redirect.github.com/cert-manager/cert-manager/issues/8162), [@&#8203;LiquidPL](https://redirect.github.com/LiquidPL))\n\n##### Other (Cleanup or Flake)\n\n- Promoted the OtherNames feature to Beta and enabled it by default ([#&#8203;8288](https://redirect.github.com/cert-manager/cert-manager/issues/8288), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Promoting `XListenerSets` feature gate to `ListenerSets` ([#&#8203;8501](https://redirect.github.com/cert-manager/cert-manager/issues/8501), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Rebranding of the Venafi Issu\n\n> \u2757 **Important**\n> \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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/105",
                                            "commit_id": "a90843496e0444d5e7fd46e9f382095ab0c8b6c8",
                                            "patchset": "a90843496e0444d5e7fd46e9f382095ab0c8b6c8",
                                            "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": "105",
                                            "change_message": "chore(deps): update helm release cert-manager to v1.21.2\n\n> \u2139\ufe0f **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [cert-manager](https://cert-manager.io) ([source](https://redirect.github.com/cert-manager/cert-manager)) | minor | `1.18.2` \u2192 `1.21.2` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>cert-manager/cert-manager (cert-manager)</summary>\n\n### [`v1.21.2`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.21.2)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.21.1...v1.21.2)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.21.2 fixes controller and webhook panics, data races, ACME renewal and HTTP-01 solver bugs, and a Gateway API dnsNames bug. It stops the ACME and Vault issuers copying untrusted HTTP response bodies into status conditions and Events, and tightens ambient AWS credential use for namespaced Vault Issuers. It also updates Go and several dependencies to fix reported security vulnerabilities.\n\nAll users should upgrade.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- ACME Issuer response bodies are no longer reflected into Issuer status conditions or Kubernetes Events. Only ACME problem documents are surfaced (bounded in length); other responses are reported by HTTP status code alone, with the full error available in the controller logs. ([#&#8203;9239](https://redirect.github.com/cert-manager/cert-manager/issues/9239), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Cap ACME server response bodies at 16 MiB to guard against unbounded-body denial-of-service. ([#&#8203;9222](https://redirect.github.com/cert-manager/cert-manager/issues/9222), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- De-duplicate dnsNames when multiple Gateway/ListenerSet listeners share a Secret ([#&#8203;9234](https://redirect.github.com/cert-manager/cert-manager/issues/9234), [@&#8203;speer](https://redirect.github.com/speer))\n- Fix certificate renewal windows using February 29 cron schedules across non-leap century years. ([#&#8203;9240](https://redirect.github.com/cert-manager/cert-manager/issues/9240), [@&#8203;wieghx](https://redirect.github.com/wieghx))\n- Fix validating webhook panics when AdmissionReview requests omit optional fields, by routing identity, approval, and resource validation on the always-present Resource/SubResource fields and denying (rather than silently allowing) requests with an unset or mismatched resource. As a side effect, validation is now also enforced for equivalent-converted requests on non-v1 API versions, which previously could skip validation. ([#&#8203;9235](https://redirect.github.com/cert-manager/cert-manager/issues/9235), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Fixed HTTP-01 solver cleanup so that a solver ingress, pod or service that has already been deleted no longer fails the cleanup with a NotFound error. ([#&#8203;9278](https://redirect.github.com/cert-manager/cert-manager/issues/9278), [@&#8203;arpitjain099](https://redirect.github.com/arpitjain099))\n- Fixed a bug where `replaces` field was being populated for the wrong issuer on issuer changes ([#&#8203;9236](https://redirect.github.com/cert-manager/cert-manager/issues/9236), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Fixed a data race in the ACME HTTP-01 self-check that could occur when custom DNS servers were configured. ([#&#8203;9313](https://redirect.github.com/cert-manager/cert-manager/issues/9313), [@&#8203;shashankvarma499](https://redirect.github.com/shashankvarma499))\n- Fixed a panic in the certificates-issuing controller when a CertificateRequest has a failure time set but no Ready condition. ([#&#8203;9238](https://redirect.github.com/cert-manager/cert-manager/issues/9238), [@&#8203;thc1006](https://redirect.github.com/thc1006))\n- Fixed a race in pkg/scheduler where the cleanup of a fired timer could cancel a newer timer scheduled for the same object, silently dropping a rescheduled poll. ([#&#8203;9312](https://redirect.github.com/cert-manager/cert-manager/issues/9312), [@&#8203;shashankvarma499](https://redirect.github.com/shashankvarma499))\n- Fixed an issue where the body of a non-Vault HTTP response from `spec.vault.server` could be copied into the Vault Issuer's Ready condition and its Kubernetes Events. Such responses now report only the HTTP status code, and Vault's own error messages are truncated before being persisted. ([#&#8203;9262](https://redirect.github.com/cert-manager/cert-manager/issues/9262), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Ingress-shim no longer removes the applyset label from cached Ingress and Gateway objects ([#&#8203;9314](https://redirect.github.com/cert-manager/cert-manager/issues/9314), [@&#8203;KR-Ravindra](https://redirect.github.com/KR-Ravindra))\n- The ACME HTTP-01 self-check no longer reflects the fetched response body in `Challenge.status.reason`, preventing disclosure of internal response contents reachable via redirects. The response is still available in the controller's debug logs. ([#&#8203;9232](https://redirect.github.com/cert-manager/cert-manager/issues/9232), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- The `vault` issuer no longer authenticates to Vault using the cert-manager controller's ambient AWS credentials for AWS IAM auth on a namespaced `Issuer`, unless ambient credentials are explicitly enabled via `--issuer-ambient-credentials`. `ClusterIssuer` and explicit `serviceAccountRef` (IRSA) configurations are unaffected. ([#&#8203;9231](https://redirect.github.com/cert-manager/cert-manager/issues/9231), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n\n##### Other (Cleanup or Flake)\n\n- Upgrade Go to 1.26.6, which includes security fixes to the go command, and the crypto/tls, encoding/asn1, encoding/xml, html/template, net, net/http, and net/url packages. ([#&#8203;9151](https://redirect.github.com/cert-manager/cert-manager/issues/9151), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Upgrade Go to 1.26.8. ([#&#8203;9323](https://redirect.github.com/cert-manager/cert-manager/issues/9323), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Bump `google.golang.org/grpc` to v1.83.2 to fix reported security vulnerabilities ([#&#8203;9255](https://redirect.github.com/cert-manager/cert-manager/issues/9255), [#&#8203;9317](https://redirect.github.com/cert-manager/cert-manager/issues/9317))\n- Bump `golang.org/x/crypto` to v0.56.0 to fix reported security vulnerabilities ([#&#8203;9265](https://redirect.github.com/cert-manager/cert-manager/issues/9265))\n\n### [`v1.21.1`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.21.1)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.21.0...v1.21.1)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.21.1 fixes a controller panic for Certificates with `spec.renewal.policy: Disabled`, a regression in 1.21.0 which caused log spam and dropped Secret informer events, Issuers and ClusterIssuers getting stuck at `Ready=False` (`InvalidSolver`) when a referenced ACME DNS-01 solver Secret is created after the Issuer, and the commented Gateway API example in the Helm chart values. It also updates several dependencies to fix reported security vulnerabilities.\n\nAll users should upgrade.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Avoid controller panic if a Certificate sets spec.renewal.policy=Disabled ([#&#8203;9038](https://redirect.github.com/cert-manager/cert-manager/issues/9038), [@&#8203;sklirg](https://redirect.github.com/sklirg))\n- Fix Issuer/ClusterIssuer stuck at Ready=False/InvalidSolver after a missing ACME DNS-01 solver Secret is created ([#&#8203;9083](https://redirect.github.com/cert-manager/cert-manager/issues/9083), [@&#8203;SebTardif](https://redirect.github.com/SebTardif))\n- Fix log spam and dropped Secret informer events for non-cert-manager Secrets, caused by a generics regression introduced in 1.21.0. ([#&#8203;9037](https://redirect.github.com/cert-manager/cert-manager/issues/9037), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Fixed the commented Gateway API config example in the Helm chart values to use `gatewayAPI.enabled` instead of the invalid `gatewayAPI.enable`. ([#&#8203;9012](https://redirect.github.com/cert-manager/cert-manager/issues/9012), [@&#8203;mateenali66](https://redirect.github.com/mateenali66))\n\n##### Other (Cleanup or Flake)\n\n- Bump `golang.org/x/text` to v0.40.0 to fix a reported security vulnerability ([#&#8203;9039](https://redirect.github.com/cert-manager/cert-manager/issues/9039), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Bump `google.golang.org/grpc` to v1.82.1 to fix a reported security vulnerability ([#&#8203;9063](https://redirect.github.com/cert-manager/cert-manager/issues/9063))\n- Bump `github.com/google/cel-go` to v0.29.0 to fix a reported security vulnerability ([#&#8203;9072](https://redirect.github.com/cert-manager/cert-manager/issues/9072))\n- Bump `go.opentelemetry.io/otel` to v1.44.0 to fix a reported security vulnerability ([#&#8203;9073](https://redirect.github.com/cert-manager/cert-manager/issues/9073))\n- Update distroless base images ([#&#8203;9000](https://redirect.github.com/cert-manager/cert-manager/issues/9000), [#&#8203;9025](https://redirect.github.com/cert-manager/cert-manager/issues/9025))\n\n### [`v1.21.0`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.21.0)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.4...v1.21.0)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\ncert-manager 1.21 brings ACME Renewal Information (ARI) support, AWS IAM authentication for the Vault issuer, several security hardening changes, and continued improvements to Gateway API integration and cainjector. There are three breaking changes related to Helm chart RBAC and metrics values \u2014 review them carefully before upgrading.\n\n#### Known Issues\n\n- **Controller crash-loops when a Certificate sets `renewal.policy: Disabled`**: the new Certificate renewal policies feature ([#&#8203;8258](https://redirect.github.com/cert-manager/cert-manager/issues/8258)) causes a nil pointer dereference panic in the trigger controller whenever a Certificate's `spec.renewal.policy` is set to `Disabled` \u2014 `pki.RenewalTime()` returns `(nil, nil)` for that policy, but the caller unconditionally dereferences the result. This crashes the controller process (crash-loop) for any cluster with such a Certificate. **Workaround**: do not set `renewal.policy: Disabled` on any Certificate until this is fixed; remove the field (or set a different policy) from any Certificate that already has it, and restart the controller if it is currently crash-looping. See [#&#8203;9031](https://redirect.github.com/cert-manager/cert-manager/issues/9031) for details.\n- **Log spam for non-cert-manager-labelled Secret events**: the typed predicates refactoring ([#&#8203;8407](https://redirect.github.com/cert-manager/cert-manager/issues/8407)) causes `filteredEventHandler` type assertion failures (`\"OnAdd missing Object\"`, `\"OnUpdate missing ObjectOld\"`, `\"OnDelete missing Object\"`) for every non-cert-manager-labelled Secret event, multiplied by 7 certificate sub-controllers. **This is cosmetic only** \u2014 the affected controllers only need events from cert-manager-labelled Secrets (which arrive via the typed informer); the metadata informer events were always filtered out by predicates in previous versions. Issuer and ClusterIssuer controllers are not affected. See [#&#8203;8994](https://redirect.github.com/cert-manager/cert-manager/issues/8994) for details.\n- **Issuer/ClusterIssuer can get stuck at `Ready: False, Reason: InvalidSolver` and never self-correct**: new eager validation of ACME solver Secrets ([#&#8203;8255](https://redirect.github.com/cert-manager/cert-manager/issues/8255)) means an Issuer/ClusterIssuer referencing a solver Secret (e.g. a DNS01 provider credential) that doesn't exist yet will correctly report `Ready: False`, but creating the missing Secret afterwards does not trigger re-reconciliation \u2014 the controller's Secret-watch logic was never updated to recognise solver Secrets. It will only recover on the next 10-hour informer resync, a change to the Issuer/ClusterIssuer's own spec, or a controller restart. **Workaround**: after creating the missing Secret, make a trivial edit to the Issuer/ClusterIssuer spec (or delete and recreate it) to force reconciliation. See [#&#8203;9036](https://redirect.github.com/cert-manager/cert-manager/issues/9036) for details and a fix proposal.\n\n#### Major Themes\n\n##### Default `tokenrequest` RBAC removed from Helm chart\n\n> \u26a0\ufe0f Breaking change\n\nThe Helm chart no longer creates a default `Role` and `RoleBinding` granting the cert-manager controller permission to create tokens for its own ServiceAccount (`serviceaccounts/token: create`). No documented workflow requires this RBAC \u2014 the Route53 docs section that motivated it was removed in 2024.\n\nIf you use `serviceAccountRef.name` pointing at the controller ServiceAccount, you must now either create your own `Role`/`RoleBinding` granting `serviceaccounts/token: create`, or migrate to a dedicated ServiceAccount (recommended \u2014 see the [Vault](https://cert-manager.io/docs/configuration/vault/) or [Route53](https://cert-manager.io/docs/configuration/acme/dns01/route53/) documentation).\n\n##### Restrict Challenge and Order RBAC in `cert-manager-edit` ClusterRole\n\n> \u26a0\ufe0f Potentially breaking change\n\nThe `cert-manager-edit` aggregate ClusterRole no longer grants `create` for `challenges.acme.cert-manager.io` or `create`, `patch`, `update` for `orders.acme.cert-manager.io` ([`GHSA-8rvj-mm4h-c258`](https://redirect.github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258)). These resources are internal to cert-manager's ACME workflow. Challenge `patch` and `update` are retained because users may need them to remove stuck finalizers.\n\nThis change was already shipped in v1.20.3 and v1.19.6, so if you are running one of those versions this will not be a breaking change. If you have tooling that creates Challenge or Order resources directly, you will need to grant those permissions explicitly.\n\n##### Metrics port name and path Helm values removed\n\n> \u26a0\ufe0f Breaking change\n\nThe Helm values `prometheus.servicemonitor.targetPort`, `prometheus.servicemonitor.path`, and `prometheus.podmonitor.path` have been removed. The controller Service metrics port has been renamed from `tcp-prometheus-servicemonitor` to `http-metrics`. Because the Helm values schema uses `additionalProperties: false`, users who still have any of the removed keys in their values overrides will see a schema validation error on upgrade \u2014 remove them before upgrading. ([#&#8203;8952](https://redirect.github.com/cert-manager/cert-manager/issues/8952))\n\n##### ACME and Certificate Management\n\n- **ACME Renewal Information (ARI)**: experimental support for [RFC 9773](https://www.rfc-editor.org/rfc/rfc9773) behind the `ACMEUseARI` feature gate. When enabled, cert-manager queries the ACME server's `renewalInfo` endpoint for the recommended renewal window, allowing servers like Let's Encrypt to proactively prompt renewal during mass revocations or CA key rollovers. ([#&#8203;8798](https://redirect.github.com/cert-manager/cert-manager/issues/8798))\n- **`waitInsteadOfSelfCheck` solver option**: skip cert-manager's own self-check and instead wait a configured duration before asking the ACME server to validate. An escape hatch for split-horizon DNS and NAT hairpin environments. See [configuration details](https://cert-manager.io/docs/configuration/acme/#skip-the-self-check-with-waitinsteadofselfcheck). ([#&#8203;8858](https://redirect.github.com/cert-manager/cert-manager/issues/8858))\n- **AWS IAM authentication for Vault**: the Vault issuer now supports IRSA, EKS Pod Identity, and ambient EC2/ECS credentials, removing the need for long-lived AWS Secrets. ([#&#8203;8422](https://redirect.github.com/cert-manager/cert-manager/issues/8422))\n- **Certificate renewal policies**: a new `renewalPolicies` field on the Certificate API provides more expressive control over renewal scheduling, complementing `renewBefore` and `renewBeforePercentage`. ([#&#8203;8258](https://redirect.github.com/cert-manager/cert-manager/issues/8258))\n- **Configurable CertificateRequest retry backoff**: the new `--certificate-request-maximum-backoff-duration` flag (default: 32 hours) caps the exponential backoff for failed CertificateRequests, useful for environments with scheduled CA maintenance windows. ([#&#8203;8893](https://redirect.github.com/cert-manager/cert-manager/issues/8893))\n- **Modern2026 [PKCS#12](https://redirect.github.com/PKCS/cert-manager/issues/12) profile**: a new FIPS 140-3 compatible encoding profile using AES-256 + SHA-256 KDFs instead of legacy 3DES/RC2. ([#&#8203;8841](https://redirect.github.com/cert-manager/cert-manager/issues/8841))\n- **Webhook certificate renewal after system suspend**: the webhook now detects missed certificate renewals after system suspend (S3/S4) or VM live migration by polling wall-clock time, recovering within one minute of resume. ([#&#8203;8464](https://redirect.github.com/cert-manager/cert-manager/issues/8464))\n\n##### Gateway API and cainjector\n\n- **HTTP01 ListenerSet parentRef fallback**: the `acme.cert-manager.io/http01-parentreffallback: \"true\"` annotation causes cert-manager to use the parent Gateway for solver HTTPRoutes instead of the ListenerSet, enabling TLS-only ListenerSets to use a shared HTTP listener for ACME challenges. ([#&#8203;8749](https://redirect.github.com/cert-manager/cert-manager/issues/8749))\n- **`cert-manager.io/ignore-tls-listeners` annotation**: exclude specific Gateway TLS listeners from certificate management. ([#&#8203;8727](https://redirect.github.com/cert-manager/cert-manager/issues/8727))\n- **Additional listener protocols**: configurable listener protocols beyond the default set. ([#&#8203;8683](https://redirect.github.com/cert-manager/cert-manager/issues/8683))\n- **`enableGatewayAPI` configuration restructure**: `enableGatewayAPI` and `enableGatewayAPIListenerSet` are deprecated in favor of `gatewayAPI.enabled` / `gatewayAPI.enableListenerSet`. The old fields continue to work. ([#&#8203;8732](https://redirect.github.com/cert-manager/cert-manager/issues/8732))\n- **`CAInjectorMerging` promoted to GA**: unconditionally enabled; will be removed in a future release. ([#&#8203;8583](https://redirect.github.com/cert-manager/cert-manager/issues/8583))\n- **cainjector server-side apply unconditional**: the `ServerSideApply` feature gate is deprecated. ([#&#8203;8692](https://redirect.github.com/cert-manager/cert-manager/issues/8692))\n- **cainjector `--ignore-namespaces` flag**: skip specified namespaces when watching Secrets for injection. ([#&#8203;8614](https://redirect.github.com/cert-manager/cert-manager/issues/8614))\n\n##### Deployment and Observability\n\n- **Venafi OAuth token observability**: a new `AuthFailed` Issuer condition reason distinguishes bad credentials from transient errors. PANW NGTS is now supported as a Venafi backend. ([#&#8203;8808](https://redirect.github.com/cert-manager/cert-manager/issues/8808), [#&#8203;8779](https://redirect.github.com/cert-manager/cert-manager/issues/8779))\n- **`runtimeClassName` support**: configurable for cert-manager components and ACME HTTP01 solver pods. ([#&#8203;8791](https://redirect.github.com/cert-manager/cert-manager/issues/8791), [#&#8203;8976](https://redirect.github.com/cert-manager/cert-manager/issues/8976))\n- **`startupapicheck.ttlSecondsAfterFinished`**: opt-in automatic cleanup of the startupapicheck Job. ([#&#8203;8523](https://redirect.github.com/cert-manager/cert-manager/issues/8523))\n- **`--acme-http01-solver-extra-labels`**: propagate `global.commonLabels` to dynamically-created ACME HTTP01 solver resources. ([#&#8203;8761](https://redirect.github.com/cert-manager/cert-manager/issues/8761))\n\n##### Notable Bug Fixes\n\n- **Integer overflow in `renewBeforePercentage`**: Certificates with durations longer than approximately 3 years were incorrectly rejected or assigned incorrect renewal times. ([#&#8203;8947](https://redirect.github.com/cert-manager/cert-manager/issues/8947))\n- **Infinite re-issuance loop**: cert-manager no longer loops when an issuer returns an already-expired certificate. ([#&#8203;8610](https://redirect.github.com/cert-manager/cert-manager/issues/8610))\n- **ACME transient network errors**: challenges no longer permanently fail on TLS handshake timeouts, DNS resolution failures, or context cancellation during nonce fetches and authorization waits. ([#&#8203;8760](https://redirect.github.com/cert-manager/cert-manager/issues/8760))\n- **DNS-over-HTTPS response body cap**: response body reads are now bounded at 128 KB to prevent potential OOM. ([#&#8203;8803](https://redirect.github.com/cert-manager/cert-manager/issues/8803))\n- **Vault path traversal**: the Vault issuer webhook now rejects `..` path segments, preventing `path.Join` from silently resolving relative segments. ([#&#8203;8930](https://redirect.github.com/cert-manager/cert-manager/issues/8930))\n- **DNS issuer secrets validated before ready**: prevents silent misconfiguration. ([#&#8203;8255](https://redirect.github.com/cert-manager/cert-manager/issues/8255))\n\n#### Community\n\nAs always, we'd like to thank all of the community members who helped in this release cycle, including all below who merged a PR and anyone that helped by commenting on issues, testing, or getting involved in cert-manager meetings. We're lucky to have you involved.\n\nA special thanks to:\n\n- [@&#8203;Copilot](https://redirect.github.com/Copilot)\n- [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps)\n- [@&#8203;Peac36](https://redirect.github.com/Peac36)\n- [@&#8203;SebTardif](https://redirect.github.com/SebTardif)\n- [@&#8203;apkatsikas](https://redirect.github.com/apkatsikas)\n- [@&#8203;bitloi](https://redirect.github.com/bitloi)\n- [@&#8203;dap0am](https://redirect.github.com/dap0am)\n- [@&#8203;figaw](https://redirect.github.com/figaw)\n- [@&#8203;immanuwell](https://redirect.github.com/immanuwell)\n- [@&#8203;jabbrwcky](https://redirect.github.com/jabbrwcky)\n- [@&#8203;jnohlgard](https://redirect.github.com/jnohlgard)\n- [@&#8203;jsoref](https://redirect.github.com/jsoref)\n- [@&#8203;ltwongaa](https://redirect.github.com/ltwongaa)\n- [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite)\n- [@&#8203;mateenali66](https://redirect.github.com/mateenali66)\n- [@&#8203;onurmicoogullari](https://redirect.github.com/onurmicoogullari)\n- [@&#8203;putongyong](https://redirect.github.com/putongyong)\n- [@&#8203;seanorama](https://redirect.github.com/seanorama)\n- [@&#8203;texasich](https://redirect.github.com/texasich)\n\nfor their contributions, comments and support!\n\nAlso, thanks to the cert-manager maintainer team for their help in this release:\n\n- [@&#8203;SgtCoDFish](https://redirect.github.com/SgtCoDFish)\n- [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot)\n- [@&#8203;erikgb](https://redirect.github.com/erikgb)\n- [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123)\n- [@&#8203;inteon](https://redirect.github.com/inteon)\n- [@&#8203;maelvls](https://redirect.github.com/maelvls)\n- [@&#8203;munnerz](https://redirect.github.com/munnerz)\n- [@&#8203;wallrj](https://redirect.github.com/wallrj)\n- [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark)\n\nAnd finally, thanks to the cert-manager steering committee for their feedback in this release cycle:\n\n- [@&#8203;FlorianLiebhart](https://redirect.github.com/FlorianLiebhart)\n- [@&#8203;TrilokGeer](https://redirect.github.com/TrilokGeer)\n- [@&#8203;ianarsenault](https://redirect.github.com/ianarsenault)\n- [@&#8203;ssyno](https://redirect.github.com/ssyno)\n\n#### Changes since v1.20.0\n\n##### Feature\n\n- Add Venafi OAuth token request observability and a new `AuthFailed` Issuer condition reason to distinguish bad credentials from transient infrastructure errors. ([#&#8203;8808](https://redirect.github.com/cert-manager/cert-manager/issues/8808), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Add `certificateRequestMaximumBackoffDuration` controller configuration option to cap retry backoff time for failed CertificateRequests. Configurable via config file, `--certificate-request-maximum-backoff-duration` CLI flag, or Helm value `config.certificateRequestMaximumBackoffDuration`. Defaults to 32 hours for backward compatibility. ([#&#8203;8893](https://redirect.github.com/cert-manager/cert-manager/issues/8893), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Add an optional `waitInsteadOfSelfCheck` field to ACME HTTP01 and DNS01 solvers so cert-manager can skip its own self-check and ask the ACME server to validate after a configured wait. ([#&#8203;8858](https://redirect.github.com/cert-manager/cert-manager/issues/8858), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Add configurable `runtimeClassName` support for cert-manager components and ACME HTTP01 solver pods. ([#&#8203;8791](https://redirect.github.com/cert-manager/cert-manager/issues/8791), [@&#8203;jsoref](https://redirect.github.com/jsoref))\n- Add direct configurable `runtimeClassName` support for ACME HTTP01 solver pods via the `acmesolver.runtimeClassName` Helm value. ([#&#8203;8976](https://redirect.github.com/cert-manager/cert-manager/issues/8976), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Add new controller flag `--acme-http01-solver-extra-labels`, allowing Helm's `global.commonLabels` to propagate to all dynamically-created ACME HTTP01 solver resources (Pods, Services, Ingresses, or Gateway API HTTPRoutes). ([#&#8203;8761](https://redirect.github.com/cert-manager/cert-manager/issues/8761), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Add opt-in `startupapicheck.ttlSecondsAfterFinished` Helm value to enable automatic cleanup of the startupapicheck Job via the Kubernetes TTL-after-finished controller. ([#&#8203;8523](https://redirect.github.com/cert-manager/cert-manager/issues/8523), [@&#8203;dap0am](https://redirect.github.com/dap0am))\n- Added ARI support through the ACMEUseARI feature gate. ([#&#8203;8798](https://redirect.github.com/cert-manager/cert-manager/issues/8798), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added AWS IAM authentication support for Vault issuer, including IRSA (IAM Roles for Service Accounts) and ambient credentials (EC2/ECS). ([#&#8203;8422](https://redirect.github.com/cert-manager/cert-manager/issues/8422), [@&#8203;bitloi](https://redirect.github.com/bitloi))\n- Added `cert-manager.io/ignore-tls-listeners` annotation for ignoring gwapi listeners. ([#&#8203;8727](https://redirect.github.com/cert-manager/cert-manager/issues/8727), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added option to specify additional listener protocols the GatewayAPI integration will consider when creating certificates. ([#&#8203;8683](https://redirect.github.com/cert-manager/cert-manager/issues/8683), [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot))\n- Adds support for the Modern2026 go-pkcs12 profile and FIPS 140-3 ([#&#8203;8841](https://redirect.github.com/cert-manager/cert-manager/issues/8841), [@&#8203;seanorama](https://redirect.github.com/seanorama))\n- Cainjector: A new flag `--ignore-namespaces` was added to the cainjector binary. It can be used to filter out namespaces from being watched for secrets to use for injectables. ([#&#8203;8614](https://redirect.github.com/cert-manager/cert-manager/issues/8614), [@&#8203;figaw](https://redirect.github.com/figaw))\n- Disabled client side rate-limiting if AP\\&F is enabled. ([#&#8203;8757](https://redirect.github.com/cert-manager/cert-manager/issues/8757), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Extend the Venafi/CyberArk integration to also support PANW NGTS. ([#&#8203;8779](https://redirect.github.com/cert-manager/cert-manager/issues/8779), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Adding certificate renewal policies ([#&#8203;8258](https://redirect.github.com/cert-manager/cert-manager/issues/8258), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Make cainjector use SSA unconditionally and deprecate the ServerSideApply feature gate ([#&#8203;8692](https://redirect.github.com/cert-manager/cert-manager/issues/8692), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Processed annotations `cert-manager.io/alt-names`, `cert-manager.io/ip-sans` to Certificates generated from ingress like objects in cert-shim controllers. ([#&#8203;8927](https://redirect.github.com/cert-manager/cert-manager/issues/8927), [@&#8203;jabbrwcky](https://redirect.github.com/jabbrwcky))\n- Promote the CAInjectorMerging feature gate to GA ([#&#8203;8583](https://redirect.github.com/cert-manager/cert-manager/issues/8583), [@&#8203;Copilot](https://redirect.github.com/Copilot))\n- When using ACME HTTP-01 with a ListenerSet, setting the annotation `acme.cert-manager.io/http01-parentreffallback: \"true\"` causes cert-manager to use the parent Gateway as the solver HTTPRoute parentRef instead of the ListenerSet. This enables TLS-only ListenerSets to rely on a shared Gateway HTTP listener for ACME challenges. ([#&#8203;8749](https://redirect.github.com/cert-manager/cert-manager/issues/8749), [@&#8203;apkatsikas](https://redirect.github.com/apkatsikas))\n\n##### Bug or Regression\n\n- **BREAKING**: The Helm chart no longer ships a default `Role` and `RoleBinding` granting the cert-manager controller ServiceAccount permission to create tokens for itself (`serviceaccounts/token: create`). This RBAC was added in v1.16 ([#&#8203;7213](https://redirect.github.com/cert-manager/cert-manager/issues/7213)) but no documented workflow requires it, and the motivating Route53 docs section was removed in Oct 2024. If you rely on `serviceAccountRef.name` pointing at the controller ServiceAccount (an undocumented pattern), you must now create your own `Role` and `RoleBinding` granting `serviceaccounts/token: create` on that ServiceAccount, or migrate to one of the documented patterns (IRSA ambient, or a dedicated ServiceAccount with its own RBAC). ([#&#8203;8931](https://redirect.github.com/cert-manager/cert-manager/issues/8931), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- ACME challenges no longer terminally fail on transient network errors (TLS handshake timeouts, DNS failures, context cancellation) during nonce fetches and authorization waits. The challenge controller returns the error and lets the workqueue retry with backoff. ([#&#8203;8760](https://redirect.github.com/cert-manager/cert-manager/issues/8760), [@&#8203;texasich](https://redirect.github.com/texasich))\n- Add dns issuer secrets validation before marking it as ready ([#&#8203;8255](https://redirect.github.com/cert-manager/cert-manager/issues/8255), [@&#8203;Peac36](https://redirect.github.com/Peac36))\n- Add missing issuer finalizer RBAC to the order controller to support owner references ([#&#8203;8654](https://redirect.github.com/cert-manager/cert-manager/issues/8654), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- ClusterIssuer metrics collector now correctly respects the enabled-controllers configuration, avoiding a redundant startup when only operating within a namespace. ([#&#8203;8822](https://redirect.github.com/cert-manager/cert-manager/issues/8822), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Fix Venafi TPP issuer setup and signing regression on master: restore authentication of the vcert connector in the client constructor, which was removed in [#&#8203;8808](https://redirect.github.com/cert-manager/cert-manager/issues/8808). ([#&#8203;8843](https://redirect.github.com/cert-manager/cert-manager/issues/8843), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Fix a performance issue in the certificateRequestApproval webhook where CertificateRequests referencing a GroupKind whose CRD is not yet installed would trigger repeated API server discovery queries on every admission request. Negative results are now cached for 30 seconds. ([#&#8203;8651](https://redirect.github.com/cert-manager/cert-manager/issues/8651), [@&#8203;mateenali66](https://redirect.github.com/mateenali66))\n- Fix webhook serving certificate not being renewed after system suspend. ([#&#8203;8464](https://redirect.github.com/cert-manager/cert-manager/issues/8464), [@&#8203;Peac36](https://redirect.github.com/Peac36))\n- Fixed a rare panic in the trigger controller when a Certificate is deleted from the informer cache while a reconcile is in progress (e.g. during namespace teardown). ([#&#8203;8962](https://redirect.github.com/cert-manager/cert-manager/issues/8962), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Fixed an integer overflow in `renewBeforePercentage` calculations that caused Certificates with durations longer than approximately 3 years to be incorrectly rejected by validation or assigned incorrect renewal times. ([#&#8203;8947](https://redirect.github.com/cert-manager/cert-manager/issues/8947), [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot))\n- Fixed duplicate `parentRef` bug when both issuer config and annotations are present. ([#&#8203;8619](https://redirect.github.com/cert-manager/cert-manager/issues/8619), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Fixed infinite re-issuance loop when issuer returns an already expired certificate ([#&#8203;8610](https://redirect.github.com/cert-manager/cert-manager/issues/8610), [@&#8203;onurmicoogullari](https://redirect.github.com/onurmicoogullari))\n- Fixed local `e2e-setup-samplewebhook` installation to use the samplewebhook image repository and tag from the saved image tarball manifest. ([#&#8203;8821](https://redirect.github.com/cert-manager/cert-manager/issues/8821), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Fixed potential OOM in DNS-over-HTTPS client by bounding response body read with io.LimitReader (128 KB cap). ([#&#8203;8803](https://redirect.github.com/cert-manager/cert-manager/issues/8803), [@&#8203;SebTardif](https://redirect.github.com/SebTardif))\n- Fixed validation of timezone-prefixed renewal window cron specs without a schedule. ([#&#8203;8813](https://redirect.github.com/cert-manager/cert-manager/issues/8813), [@&#8203;immanuwell](https://redirect.github.com/immanuwell))\n- Helm chart bugfix: rename image helper to avoid umbrella chart conflicts ([#&#8203;8753](https://redirect.github.com/cert-manager/cert-manager/issues/8753), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n- Helm: Fix invalid YAML generated when both `webhook.config` and `webhook.volumes` are defined. ([#&#8203;8664](https://redirect.github.com/cert-manager/cert-manager/issues/8664), [@&#8203;jnohlgard](https://redirect.github.com/jnohlgard))\n- Remove ACME Challenge `create` and Order `create`/`patch`/`update` from the cert-manager-edit aggregate ClusterRole to prevent direct manipulation of these internal resources (GHSA-8rvj-mm4h-c258). ([#&#8203;8958](https://redirect.github.com/cert-manager/cert-manager/issues/8958), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Remove issuer owner reference from challenges blocking challenge garbage collection ([#&#8203;8743](https://redirect.github.com/cert-manager/cert-manager/issues/8743), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Update logic to identify and preserve the secret matching nextPrivateKeySecretName ([#&#8203;8577](https://redirect.github.com/cert-manager/cert-manager/issues/8577), [@&#8203;putongyong](https://redirect.github.com/putongyong))\n- Vault Issuer webhook validation now rejects `..` path segments in `spec.vault.path` and auth mount path fields, preventing `path.Join` from silently resolving relative segments before constructing the Vault API request. ([#&#8203;8930](https://redirect.github.com/cert-manager/cert-manager/issues/8930), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n\n##### Other (Cleanup or Flake)\n\n- API cleanup: removed deprecated ObjectReference ([#&#8203;8625](https://redirect.github.com/cert-manager/cert-manager/issues/8625), [@&#8203;inteon](https://redirect.github.com/inteon))\n- Remove Helm values `prometheus.servicemonitor.targetPort`, `prometheus.servicemonitor.path`, and `prometheus.podmonitor.path`. The metrics path is always `/metrics` and the target port is always `http-metrics`. Rename the controller service metrics port from `tcp-prometheus-servicemonitor` to `http-metrics` for consistency with other workloads. Users must remove these keys from their value overrides before upgrading. ([#&#8203;8952](https://redirect.github.com/cert-manager/cert-manager/issues/8952), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- The `enableGatewayAPI` and `enableGatewayAPIListenerSet` fields on `ControllerConfiguration` are deprecated and moved into the `gatewayAPI` sub-struct as `gatewayAPI.enabled` and `gatewayAPI.enableListenerSet`. The old fields continue to work. ([#&#8203;8732](https://redirect.github.com/cert-manager/cert-manager/issues/8732), [@&#8203;ThatsMrTalbot](https://redirect.github.com/ThatsMrTalbot))\n- Update base images to Debian 13 ([#&#8203;8849](https://redirect.github.com/cert-manager/cert-manager/issues/8849), [@&#8203;ltwongaa](https://redirect.github.com/ltwongaa))\n\n### [`v1.20.4`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.4)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.3...v1.20.4)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nThis patch release updates Go and several dependencies to fix reported security vulnerabilities, and fixes a bug where ingress-shim removed the applyset label from cached Ingress and Gateway objects.\n\nAll users should upgrade.\n\n> \\[!NOTE]\n> **Security scanners still report three `golang.org/x/crypto` findings.** None of them affects cert-manager and we do not plan to fix them in the 1.20 line.\n>\n> - [CVE-2026-56855](https://nvd.nist.gov/vuln/detail/CVE-2026-56855) and [CVE-2026-78662](https://nvd.nist.gov/vuln/detail/CVE-2026-78662) are deadlocks in the `golang.org/x/crypto/ssh` connection multiplexer, triggered by a malicious SSH peer after a connection is established. cert-manager never opens an SSH connection. Only the controller links the `ssh` package, through `vcert`, which uses it to format a public key. The fix, `golang.org/x/crypto` v0.56.0, requires Go language version 1.26, which we will not adopt in a patch release. `govulncheck` confirms the vulnerable functions are not called.\n> - [GO-2026-5932](https://pkg.go.dev/vuln/GO-2026-5932) marks `golang.org/x/crypto/openpgp` as unmaintained. cert-manager does not import that package and there is no fixed version.\n>\n> cert-manager 1.21 already uses `golang.org/x/crypto` v0.56.0, so upgrade to 1.21 if you need a clean scan.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Ingress-shim no longer removes the applyset label from cached Ingress and Gateway objects ([#&#8203;9315](https://redirect.github.com/cert-manager/cert-manager/issues/9315), [@&#8203;KR-Ravindra](https://redirect.github.com/KR-Ravindra))\n\n##### Other (Cleanup or Flake)\n\n- Update Go to 1.26.5 and then 1.26.6, which include security fixes to the go command, and the crypto/tls, encoding/asn1, encoding/xml, html/template, net, net/http, and net/url packages ([#&#8203;8995](https://redirect.github.com/cert-manager/cert-manager/issues/8995), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark); [#&#8203;9152](https://redirect.github.com/cert-manager/cert-manager/issues/9152), [@&#8203;wallrj](https://redirect.github.com/wallrj))\n- Bump `golang.org/x/net` to v0.58.0, `golang.org/x/text` to v0.41.0 and `golang.org/x/crypto` to v0.55.0 to fix [CVE-2026-46600](https://nvd.nist.gov/vuln/detail/CVE-2026-46600), [CVE-2026-56852](https://nvd.nist.gov/vuln/detail/CVE-2026-56852) and [CVE-2026-56854](https://nvd.nist.gov/vuln/detail/CVE-2026-56854) ([#&#8203;9040](https://redirect.github.com/cert-manager/cert-manager/issues/9040), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Bump `google.golang.org/grpc` to v1.83.2 to fix [CVE-2026-84304](https://redirect.github.com/grpc/grpc-go/security/advisories/GHSA-vp52-pcj8-j9qc), [CVE-2026-84445](https://redirect.github.com/grpc/grpc-go/security/advisories/GHSA-2v4p-qf9q-27wj), [CVE-2026-84303](https://nvd.nist.gov/vuln/detail/CVE-2026-84303) and [one further advisory](https://redirect.github.com/advisories/GHSA-hrxh-6v49-42gf) ([#&#8203;9062](https://redirect.github.com/cert-manager/cert-manager/issues/9062), [#&#8203;9257](https://redirect.github.com/cert-manager/cert-manager/issues/9257), [#&#8203;9316](https://redirect.github.com/cert-manager/cert-manager/issues/9316))\n- Bump `github.com/google/cel-go` to v0.30.0 to fix [a reported vulnerability](https://redirect.github.com/advisories/GHSA-gcjh-h69q-9w9g) ([#&#8203;9070](https://redirect.github.com/cert-manager/cert-manager/issues/9070), [#&#8203;9186](https://redirect.github.com/cert-manager/cert-manager/issues/9186))\n- Bump `software.sslmate.com/src/go-pkcs12` to v0.7.2 to fix [a reported vulnerability](https://redirect.github.com/advisories/GHSA-mpwr-8vm7-h73f) ([#&#8203;8988](https://redirect.github.com/cert-manager/cert-manager/issues/8988))\n- Bump `golang.org/x/mod`, `go.opentelemetry.io/otel` and `go.etcd.io/etcd/client/pkg/v3` to versions flagged by security scanners ([#&#8203;9143](https://redirect.github.com/cert-manager/cert-manager/issues/9143), [#&#8203;9071](https://redirect.github.com/cert-manager/cert-manager/issues/9071), [#&#8203;9185](https://redirect.github.com/cert-manager/cert-manager/issues/9185))\n- Update the distroless base images ([#&#8203;8991](https://redirect.github.com/cert-manager/cert-manager/issues/8991), [#&#8203;9024](https://redirect.github.com/cert-manager/cert-manager/issues/9024), [#&#8203;9055](https://redirect.github.com/cert-manager/cert-manager/issues/9055), [#&#8203;9325](https://redirect.github.com/cert-manager/cert-manager/issues/9325))\n- The release staging process now signs `metadata.json` with cosign so the publish step can verify its authenticity ([#&#8203;9090](https://redirect.github.com/cert-manager/cert-manager/issues/9090), [@&#8203;FelixPhipps](https://redirect.github.com/FelixPhipps))\n\n### [`v1.20.3`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.3)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.2...v1.20.3)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nThis patch release fixes a security issue ([`GHSA-8rvj-mm4h-c258`](https://redirect.github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258), HIGH) where the default `cert-manager-edit` aggregate ClusterRole granted namespace users permission to create ACME `Challenge` and `Order` resources directly. A user who could create a `Challenge` referencing a `ClusterIssuer` could supply attacker-controlled solver configuration while cert-manager loaded credentials from the `ClusterIssuer`'s namespace, bypassing Issuer solver selectors (`dnsZones`, `dnsNames`, `matchLabels`). With the acme-dns provider specifically, this could disclose DNS credentials to an attacker-controlled endpoint.\n\nThis release also removes the issuer owner reference from Challenges which was blocking Challenge garbage collection, and updates Go to fix reported CVEs.\n\nAll users should upgrade.\n\n> \\[!WARNING]\n> **Potentially breaking change:** The `cert-manager-edit` aggregate ClusterRole no longer grants `create` for `challenges.acme.cert-manager.io` or `create`, `patch`, `update` for `orders.acme.cert-manager.io`. These resources are internal to cert-manager's ACME workflow and are not intended to be created or modified directly by users. If you have tooling or workflows that create Challenge or Order resources directly (outside of the normal Certificate \u2192 CertificateRequest \u2192 Order \u2192 Challenge flow), you will need to grant those permissions explicitly.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Security (HIGH): Remove Challenge `create` and Order `create`, `patch`, `update` verbs from the `cert-manager-edit` aggregate ClusterRole ([`GHSA-8rvj-mm4h-c258`](https://redirect.github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258)). ([#&#8203;8940](https://redirect.github.com/cert-manager/cert-manager/issues/8940), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Remove issuer owner reference from challenges blocking challenge garbage collection ([#&#8203;8759](https://redirect.github.com/cert-manager/cert-manager/issues/8759), [@&#8203;cert-manager-bot](https://redirect.github.com/cert-manager-bot))\n\n##### Other (Cleanup or Flake)\n\n- Bump go to 1.26.3, other deps to fix several govulncheck issues ([#&#8203;8789](https://redirect.github.com/cert-manager/cert-manager/issues/8789), [@&#8203;SgtCoDFish](https://redirect.github.com/SgtCoDFish))\n- Update Go to `v1.26.4` to fix CVE-2026-27145, CVE-2026-42504, and CVE-2026-42507 ([#&#8203;8926](https://redirect.github.com/cert-manager/cert-manager/issues/8926), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n\n### [`v1.20.2`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.2)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.1...v1.20.2)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.20.2 fixes invalid YAML generated in the Helm chart when both `webhook.config`\nand `webhook.volumes` are defined, and bumps Go to 1.26.2 along with dependencies\nto address reported vulnerabilities.\n\n#### Changes by Kind\n\n##### Bug or Regression\n\n- Helm: Fix invalid YAML generated when both `webhook.config` and `webhook.volumes` are defined. ([#&#8203;8665](https://redirect.github.com/cert-manager/cert-manager/issues/8665), [@&#8203;cert-manager-bot](https://redirect.github.com/cert-manager-bot))\n\n##### Other (Cleanup or Flake)\n\n- Bump go dependencies with reported vulnerabilities ([#&#8203;8704](https://redirect.github.com/cert-manager/cert-manager/issues/8704), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Bump go to 1.26.2 ([#&#8203;8703](https://redirect.github.com/cert-manager/cert-manager/issues/8703), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n\n### [`v1.20.1`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.1)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.20.0...v1.20.1)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.20.1 fixes an issue for OpenShift users that has to do with the finalizer RBAC, bumps gRPC to address a reported non-affecting vulnerability, and fixes a duplicate `parentRef` bug when both issuer config and annotations are present (Gateway API).\n\n##### Bug or Regression\n\n- Fixed duplicate `parentRef` bug when both issuer config and annotations are present. ([#&#8203;8658](https://redirect.github.com/cert-manager/cert-manager/issues/8658), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Add missing issuer finalizer RBAC to the order controller to support owner references. This was preventing OpenShift users from being able to upgrade to v1.20.0. ([#&#8203;8655](https://redirect.github.com/cert-manager/cert-manager/issues/8655), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Bump google.golang.org/grpc to fix vulnerability reported by scanners. This isn't a vulnerability that affects cert-manager, but we are bumping it because it is reported by scanners. ([#&#8203;8657](https://redirect.github.com/cert-manager/cert-manager/issues/8657), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n\n### [`v1.20.0`](https://redirect.github.com/cert-manager/cert-manager/releases/tag/v1.20.0)\n\n[Compare Source](https://redirect.github.com/cert-manager/cert-manager/compare/v1.19.6...v1.20.0)\n\ncert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.\n\nv1.20.0 adds alpha support for the new ListenerSet resource, adds support for Azure Private DNS; parentRefs are no longer required when using ACME with Gateway API, and OtherNames was promoted to Beta.\n\n#### Changes by Kind\n\n##### Feature\n\n- Added a set of flags to permit setting NetworkPolicy across all deployed containers. Remove redundant global IP ranges from example policies. ([#&#8203;8370](https://redirect.github.com/cert-manager/cert-manager/issues/8370), [@&#8203;jcpunk](https://redirect.github.com/jcpunk))\n- Added selectable fields to custom resource definitions for .spec.issuerRef.{group, kind, name} ([#&#8203;8256](https://redirect.github.com/cert-manager/cert-manager/issues/8256), [@&#8203;tareksha](https://redirect.github.com/tareksha))\n- Added support for specifying `imagePullSecrets` in the `startupapicheck-job` Helm template to enable pulling images from private registries. ([#&#8203;8186](https://redirect.github.com/cert-manager/cert-manager/issues/8186), [@&#8203;mathieu-clnk](https://redirect.github.com/mathieu-clnk))\n- Added 'extraContainers' helm chart value, allowing the deployment of arbitrary sidecar containers within the cert-manager operator pod. This can be used to support, for e.g., AWS IAM Roles Anywhere for Route53 DNS01 verification. ([#&#8203;8355](https://redirect.github.com/cert-manager/cert-manager/issues/8355), [@&#8203;dancmeyers](https://redirect.github.com/dancmeyers))\n- Added `parentRef` override annotations on the Certificate resource. ([#&#8203;8518](https://redirect.github.com/cert-manager/cert-manager/issues/8518), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added support for azure private zones for dns01 issuer. ([#&#8203;8494](https://redirect.github.com/cert-manager/cert-manager/issues/8494), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Added support for configuring PEM decoding size limits, allowing operators to handle larger certificates and keys. ([#&#8203;7642](https://redirect.github.com/cert-manager/cert-manager/issues/7642), [@&#8203;robertlestak](https://redirect.github.com/robertlestak))\n- Added support for unhealthyPodEvictionPolicy in PodDisruptionBudget ([#&#8203;7728](https://redirect.github.com/cert-manager/cert-manager/issues/7728), [@&#8203;jcpunk](https://redirect.github.com/jcpunk))\n- For Venafi provider, read `venafi.cert-manager.io/custom-fields` annotation on Issuer/ClusterIssuer and use it as base with override/append capabilities on Certificate level. ([#&#8203;8301](https://redirect.github.com/cert-manager/cert-manager/issues/8301), [@&#8203;k0da](https://redirect.github.com/k0da))\n- Improve error message when CA issuers are misconfigured to use a clashing secret name ([#&#8203;8374](https://redirect.github.com/cert-manager/cert-manager/issues/8374), [@&#8203;majiayu000](https://redirect.github.com/majiayu000))\n- Introduce a new Ingress annotation `acme.cert-manager.io/http01-ingress-ingressclassname` to override `http01.ingress.ingressClassName` field in HTTP-01 challenge solvers. ([#&#8203;8244](https://redirect.github.com/cert-manager/cert-manager/issues/8244), [@&#8203;lunarwhite](https://redirect.github.com/lunarwhite))\n- Update `global.nodeSelector` to helm chart to perform a `merge` and allow for a single `nodeSelector` to be set across all services. ([#&#8203;8195](https://redirect.github.com/cert-manager/cert-manager/issues/8195), [@&#8203;StingRayZA](https://redirect.github.com/StingRayZA))\n- Vault issuers will now include the Vault server address as one of the default audiences on generated service account tokens. ([#&#8203;8228](https://redirect.github.com/cert-manager/cert-manager/issues/8228), [@&#8203;terinjokes](https://redirect.github.com/terinjokes))\n- Added experimental `XListenerSets` feature gate ([#&#8203;8394](https://redirect.github.com/cert-manager/cert-manager/issues/8394), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n\n##### Documentation\n\n- Add GWAPI documentation to NOTES.TXT in helm chart ([#&#8203;8353](https://redirect.github.com/cert-manager/cert-manager/issues/8353), [@&#8203;jaxels10](https://redirect.github.com/jaxels10))\n\n##### Bug or Regression\n\n- Adds logs for cases when acme server returns us a fatal error in the order controller ([#&#8203;8199](https://redirect.github.com/cert-manager/cert-manager/issues/8199), [@&#8203;Peac36](https://redirect.github.com/Peac36))\n- Fixed an issue where kind or group in the issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly caused the certificate to be renewed ([#&#8203;8160](https://redirect.github.com/cert-manager/cert-manager/issues/8160), [@&#8203;inteon](https://redirect.github.com/inteon))\n- Changes to the Duration and RenewBefore annotations on ingress and gateway-api resources will now trigger certificate updates. ([#&#8203;8232](https://redirect.github.com/cert-manager/cert-manager/issues/8232), [@&#8203;eleanor-merry](https://redirect.github.com/eleanor-merry))\n- Fix an issue where ACME challenge TXT records are not cleaned up when there are many resource records in CloudDNS. ([#&#8203;8456](https://redirect.github.com/cert-manager/cert-manager/issues/8456), [@&#8203;tkna](https://redirect.github.com/tkna))\n- Fix unregulated retries with the DigitalOcean DNS-01 solver\n  Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging ([#&#8203;8221](https://redirect.github.com/cert-manager/cert-manager/issues/8221), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8403](https://redirect.github.com/cert-manager/cert-manager/issues/8403), [@&#8203;calm329](https://redirect.github.com/calm329))\n- Fixed an issue where HTTP-01 challenges failed when the Host header contains an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8424](https://redirect.github.com/cert-manager/cert-manager/issues/8424), [@&#8203;SlashNephy](https://redirect.github.com/SlashNephy))\n- Fixed the HTTP-01 Gateway solver creating invalid HTTPRoutes by not setting spec.hostnames when the challenge DNSName is an IP address. ([#&#8203;8443](https://redirect.github.com/cert-manager/cert-manager/issues/8443), [@&#8203;alviss7](https://redirect.github.com/alviss7))\n- Revert API defaults for issuer reference kind and group introduced in 0.19.0 ([#&#8203;8173](https://redirect.github.com/cert-manager/cert-manager/issues/8173), [@&#8203;erikgb](https://redirect.github.com/erikgb))\n- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8469](https://redirect.github.com/cert-manager/cert-manager/issues/8469), [@&#8203;SgtCoDFish](https://redirect.github.com/SgtCoDFish))\n- Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8290](https://redirect.github.com/cert-manager/cert-manager/issues/8290), [@&#8203;octo-sts](https://redirect.github.com/octo-sts)\\[bot])\n- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of `cert-manager`. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). ([#&#8203;8162](https://redirect.github.com/cert-manager/cert-manager/issues/8162), [@&#8203;LiquidPL](https://redirect.github.com/LiquidPL))\n\n##### Other (Cleanup or Flake)\n\n- Promoted the OtherNames feature to Beta and enabled it by default ([#&#8203;8288](https://redirect.github.com/cert-manager/cert-manager/issues/8288), [@&#8203;wallrj-cyberark](https://redirect.github.com/wallrj-cyberark))\n- Promoting `XListenerSets` feature gate to `ListenerSets` ([#&#8203;8501](https://redirect.github.com/cert-manager/cert-manager/issues/8501), [@&#8203;hjoshi123](https://redirect.github.com/hjoshi123))\n- Rebranding of the Venafi Issu\n\n> \u2757 **Important**\n> \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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/105",
                                            "commit_id": "a90843496e0444d5e7fd46e9f382095ab0c8b6c8",
                                            "patchset": "a90843496e0444d5e7fd46e9f382095ab0c8b6c8",
                                            "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": "f5e7cf34b47daea77edc92654189c4ef7c0be15b",
                                            "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": "9d8f2090208f5a1a8d686d5d5a76bbfe20d7286d",
                                            "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": "b7e1ed566173acf05d7a2dfbe7a94fdc2a1e8d97",
                                            "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": "51409ec71fb1c54bbb1afac08ccf4397e444674b",
                                            "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.4.0 for >=2.2.3",
                                "Resolved community.general to 13.4.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 kubernetes (1.9MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading cryptography (4.3MiB)",
                                " Downloading pydantic-core",
                                " Downloading cryptography",
                                " Downloading pygments",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 52 packages in 64ms",
                                "Checked out community.crypto to 3.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.crypto:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:3.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out community.general to 13.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.general:13.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:13.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:13.4.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.4.0 for >=2.2.3\nResolved community.general to 13.4.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 kubernetes (1.9MiB)\nDownloading pygments (1.2MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading ansible-core (2.1MiB)\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 64ms\nChecked out community.crypto to 3.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.crypto:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:3.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out community.general to 13.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.general:13.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:13.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:13.4.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-09-25T02:19:20.114040Z",
                            "start": "2026-09-25T02:19:11.246904Z"
                        },
                        "id": "0242ac17-0010-ee13-b072-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-09-25T02:19:29.557614Z",
                    "start": "2026-09-25T02:19:20.763955Z"
                },
                "id": "0242ac17-0010-95df-6408-000000000002",
                "name": "Prepare Molecule log collection"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1790302765,
                            "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 5 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 (587 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 5 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 (587 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-09-25T02:19:29.557614Z",
                            "start": "2026-09-25T02:19:20.774616Z"
                        },
                        "id": "0242ac17-0010-95df-6408-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-09-25T02:23:10.882482Z",
                    "start": "2026-09-25T02:19:30.346158Z"
                },
                "id": "0242ac17-0010-e28c-c779-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": 1790302745.7260625,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1790302753.0422356,
                                        "dev": 64769,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1038637,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1790302753.0422356,
                                        "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": "1554578426",
                                        "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-09-25T02:19:31.171298Z",
                            "start": "2026-09-25T02:19:30.356973Z"
                        },
                        "id": "0242ac17-0010-e28c-c779-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": "38f15b5d4d907195bfc1d54a00431a68cd2c4e27",
                                    "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": "38f15b5d4d907195bfc1d54a00431a68cd2c4e27",
                                            "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-1790302771.2509363-9-148709604818797/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": 1790302745.7260625,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1790302753.0422356,
                                            "dev": 64769,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1038637,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1790302753.0422356,
                                            "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": "1554578426",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "2aa9d81b86c9bfa36ea6e26217d2423b",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 354639,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302771.2509363-9-148709604818797/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-09-25T02:19:32.271578Z",
                            "start": "2026-09-25T02:19:31.181067Z"
                        },
                        "id": "0242ac17-0010-e28c-c779-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": 1790302745.7260625,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1790302753.0422356,
                                            "dev": 64769,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1038637,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1790302753.0422356,
                                            "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": "1554578426",
                                            "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-09-25T02:19:32.686500Z",
                            "start": "2026-09-25T02:19:32.282030Z"
                        },
                        "id": "0242ac17-0010-e28c-c779-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:03:37.564537",
                            "end": "2026-09-25 02:23:10.668939",
                            "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-e28c-c779-000000000007-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:19:33.104402",
                            "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] *********************************************************\nFriday 25 September 2026  02:19:59 +0000 (0:00:00.034)       0:00:00.034 ******\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] *************************************************\nFriday 25 September 2026  02:20:01 +0000 (0:00:02.381)       0:00:02.415 ******\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:20:04 +0000 (0:00:02.824)       0:00:05.240 ******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nFriday 25 September 2026  02:20:05 +0000 (0:00:00.868)       0:00:06.109 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nFriday 25 September 2026  02:20:05 +0000 (0:00:00.354)       0:00:06.463 ******\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] ****\nFriday 25 September 2026  02:20:06 +0000 (0:00:01.252)       0:00:07.716 ******\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] *********\nFriday 25 September 2026  02:20:07 +0000 (0:00:00.824)       0:00:08.540 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nFriday 25 September 2026  02:20:08 +0000 (0:00:00.390)       0:00:08.931 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nFriday 25 September 2026  02:20:08 +0000 (0:00:00.295)       0:00:09.226 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nFriday 25 September 2026  02:20:08 +0000 (0:00:00.040)       0:00:09.267 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nFriday 25 September 2026  02:20:08 +0000 (0:00:00.047)       0:00:09.314 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nFriday 25 September 2026  02:20:09 +0000 (0:00:00.944)       0:00:10.259 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nFriday 25 September 2026  02:20:09 +0000 (0:00:00.288)       0:00:10.547 ******\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:20:09 +0000 (0:00:00.073)       0:00:10.621 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:10 +0000 (0:00:00.872)       0:00:11.493 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 25 September 2026  02:20:10 +0000 (0:00:00.292)       0:00:11.786 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 25 September 2026  02:20:10 +0000 (0:00:00.057)       0:00:11.844 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:11 +0000 (0:00:00.292)       0:00:12.136 ******\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] *******************\nFriday 25 September 2026  02:20:11 +0000 (0:00:00.112)       0:00:12.249 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:12 +0000 (0:00:00.875)       0:00:13.124 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:12 +0000 (0:00:00.043)       0:00:13.167 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 25 September 2026  02:20:12 +0000 (0:00:00.280)       0:00:13.448 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:13 +0000 (0:00:01.256)       0:00:14.705 ******\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] *******************\nFriday 25 September 2026  02:20:13 +0000 (0:00:00.154)       0:00:14.859 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:14 +0000 (0:00:00.789)       0:00:15.648 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 25 September 2026  02:20:17 +0000 (0:00:03.139)       0:00:18.788 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 25 September 2026  02:20:17 +0000 (0:00:00.046)       0:00:18.834 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 25 September 2026  02:20:17 +0000 (0:00:00.084)       0:00:18.919 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 25 September 2026  02:20:18 +0000 (0:00:00.041)       0:00:18.960 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 25 September 2026  02:20:26 +0000 (0:00:08.770)       0:00:27.731 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 25 September 2026  02:20:27 +0000 (0:00:00.650)       0:00:28.381 ******\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] **********\nFriday 25 September 2026  02:20:28 +0000 (0:00:01.247)       0:00:29.629 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 25 September 2026  02:20:29 +0000 (0:00:00.750)       0:00:30.379 ******\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nFriday 25 September 2026  02:20:29 +0000 (0:00:00.012)       0:00:30.392 ******\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 25 September 2026  02:20:30 +0000 (0:00:00.876)       0:00:31.268 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 25 September 2026  02:20:31 +0000 (0:00:00.899)       0:00:32.168 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.783)       0:00:32.952 ******\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000193944'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] ***\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.647)       0:00:33.599 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.026)       0:00:33.626 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.031)       0:00:33.657 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.039)       0:00:33.696 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.039)       0:00:33.736 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:32 +0000 (0:00:00.047)       0:00:33.784 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:33 +0000 (0:00:00.272)       0:00:34.057 ******\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] *******************\nFriday 25 September 2026  02:20:33 +0000 (0:00:00.047)       0:00:34.104 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:33 +0000 (0:00:00.766)       0:00:34.870 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:33 +0000 (0:00:00.044)       0:00:34.914 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.251)       0:00:35.166 ******\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] *******************\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.054)       0:00:35.221 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:38 +0000 (0:00:04.009)       0:00:39.230 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 25 September 2026  02:20:38 +0000 (0:00:00.062)       0:00:39.292 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 25 September 2026  02:20:38 +0000 (0:00:00.040)       0:00:39.333 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 25 September 2026  02:20:38 +0000 (0:00:00.047)       0:00:39.380 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 25 September 2026  02:20:38 +0000 (0:00:00.042)       0:00:39.422 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 25 September 2026  02:20:39 +0000 (0:00:01.029)       0:00:40.452 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 25 September 2026  02:20:40 +0000 (0:00:00.621)       0:00:41.073 ******\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] **********\nFriday 25 September 2026  02:20:41 +0000 (0:00:01.254)       0:00:42.328 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 25 September 2026  02:20:42 +0000 (0:00:00.761)       0:00:43.089 ******\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 25 September 2026  02:20:42 +0000 (0:00:00.005)       0:00:43.094 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:42 +0000 (0:00:00.433)       0:00:43.528 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:42 +0000 (0:00:00.279)       0:00:43.808 ******\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] *******************\nFriday 25 September 2026  02:20:42 +0000 (0:00:00.076)       0:00:43.884 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:43 +0000 (0:00:00.665)       0:00:44.550 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:45 +0000 (0:00:01.632)       0:00:46.182 ******\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] *******************\nFriday 25 September 2026  02:20:45 +0000 (0:00:00.059)       0:00:46.241 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:45 +0000 (0:00:00.605)       0:00:46.847 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nFriday 25 September 2026  02:20:47 +0000 (0:00:01.660)       0:00:48.508 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nFriday 25 September 2026  02:20:48 +0000 (0:00:00.622)       0:00:49.130 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:48 +0000 (0:00:00.305)       0:00:49.435 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:48 +0000 (0:00:00.284)       0:00:49.720 ******\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] *******************\nFriday 25 September 2026  02:20:48 +0000 (0:00:00.070)       0:00:49.790 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:50 +0000 (0:00:01.148)       0:00:50.939 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nFriday 25 September 2026  02:20:53 +0000 (0:00:02.994)       0:00:53.933 ******\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] ***********\nFriday 25 September 2026  02:20:53 +0000 (0:00:00.076)       0:00:54.009 ******\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nFriday 25 September 2026  02:20:54 +0000 (0:00:01.086)       0:00:55.096 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nFriday 25 September 2026  02:20:54 +0000 (0:00:00.387)       0:00:55.483 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nFriday 25 September 2026  02:20:55 +0000 (0:00:00.639)       0:00:56.123 ******\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] *********************\nFriday 25 September 2026  02:20:56 +0000 (0:00:01.203)       0:00:57.327 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:56 +0000 (0:00:00.297)       0:00:57.624 ******\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] *******************\nFriday 25 September 2026  02:20:56 +0000 (0:00:00.061)       0:00:57.686 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:21:05 +0000 (0:00:08.995)       0:01:06.681 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nFriday 25 September 2026  02:21:05 +0000 (0:00:00.035)       0:01:06.716 ******\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nFriday 25 September 2026  02:21:05 +0000 (0:00:00.049)       0:01:06.766 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nFriday 25 September 2026  02:21:05 +0000 (0:00:00.037)       0:01:06.803 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nFriday 25 September 2026  02:21:09 +0000 (0:00:03.728)       0:01:10.532 ******\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] ***\nFriday 25 September 2026  02:21:11 +0000 (0:00:01.711)       0:01:12.243 ******\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] ********\nFriday 25 September 2026  02:21:12 +0000 (0:00:00.749)       0:01:12.993 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nFriday 25 September 2026  02:21:12 +0000 (0:00:00.625)       0:01:13.618 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nFriday 25 September 2026  02:21:13 +0000 (0:00:00.636)       0:01:14.255 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nFriday 25 September 2026  02:21:13 +0000 (0:00:00.374)       0:01:14.629 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nFriday 25 September 2026  02:21:13 +0000 (0:00:00.023)       0:01:14.653 ******\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nFriday 25 September 2026  02:21:14 +0000 (0:00:00.576)       0:01:15.230 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nFriday 25 September 2026  02:21:14 +0000 (0:00:00.650)       0:01:15.881 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nFriday 25 September 2026  02:21:16 +0000 (0:00:01.748)       0:01:17.629 ******\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 25 September 2026  02:21:16 +0000 (0:00:00.012)       0:01:17.642 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nFriday 25 September 2026  02:21:17 +0000 (0:00:00.923)       0:01:18.566 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nFriday 25 September 2026  02:21:18 +0000 (0:00:00.780)       0:01:19.346 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nFriday 25 September 2026  02:21:19 +0000 (0:00:00.978)       0:01:20.325 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.857)       0:01:21.183 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.349)       0:01:21.532 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.536)       0:01:22.069 ******\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.086)       0:01:22.155 ******\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] ***\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.070)       0:01:22.226 ******\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.258)       0:01:22.485 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.054)       0:01:22.539 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.060)       0:01:22.600 ******\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.039)       0:01:22.639 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.650)       0:01:23.289 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.042)       0:01:23.331 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.042)       0:01:23.374 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.041)       0:01:23.415 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.043)       0:01:23.459 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.040)       0:01:23.500 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.048)       0:01:23.548 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nFriday 25 September 2026  02:21:22 +0000 (0:00:00.042)       0:01:23.591 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nFriday 25 September 2026  02:21:58 +0000 (0:00:35.804)       0:01:59.395 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nFriday 25 September 2026  02:21:58 +0000 (0:00:00.307)       0:01:59.702 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nFriday 25 September 2026  02:21:58 +0000 (0:00:00.033)       0:01:59.736 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nFriday 25 September 2026  02:21:59 +0000 (0:00:00.309)       0:02:00.046 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nFriday 25 September 2026  02:21:59 +0000 (0:00:00.294)       0:02:00.340 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nFriday 25 September 2026  02:21:59 +0000 (0:00:00.266)       0:02:00.607 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nFriday 25 September 2026  02:21:59 +0000 (0:00:00.065)       0:02:00.673 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nFriday 25 September 2026  02:21:59 +0000 (0:00:00.062)       0:02:00.735 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nFriday 25 September 2026  02:21:59 +0000 (0:00:00.059)       0:02:00.794 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nFriday 25 September 2026  02:22:08 +0000 (0:00:08.295)       0:02:09.090 ******\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] ************\nFriday 25 September 2026  02:22:08 +0000 (0:00:00.827)       0:02:09.918 ******\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nFriday 25 September 2026  02:22:09 +0000 (0:00:00.043)       0:02:09.962 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nFriday 25 September 2026  02:22:09 +0000 (0:00:00.037)       0:02:10.000 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nFriday 25 September 2026  02:22:09 +0000 (0:00:00.042)       0:02:10.042 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nFriday 25 September 2026  02:22:09 +0000 (0:00:00.036)       0:02:10.079 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nFriday 25 September 2026  02:22:09 +0000 (0:00:00.041)       0:02:10.121 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nFriday 25 September 2026  02:22:09 +0000 (0:00:00.466)       0:02:10.588 ******\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:22:10 +0000 (0:00:01.023)       0:02:11.611 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:22:12 +0000 (0:00:01.847)       0:02:13.458 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 25 September 2026  02:22:12 +0000 (0:00:00.290)       0:02:13.749 ******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 25 September 2026  02:22:15 +0000 (0:00:02.192)       0:02:15.942 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:22:15 +0000 (0:00:00.268)       0:02:16.210 ******\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] *******************\nFriday 25 September 2026  02:22:15 +0000 (0:00:00.033)       0:02:16.243 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:22:16 +0000 (0:00:01.630)       0:02:17.874 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nFriday 25 September 2026  02:22:18 +0000 (0:00:01.812)       0:02:19.687 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nFriday 25 September 2026  02:22:19 +0000 (0:00:00.388)       0:02:20.075 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nFriday 25 September 2026  02:22:19 +0000 (0:00:00.295)       0:02:20.371 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nFriday 25 September 2026  02:22:19 +0000 (0:00:00.368)       0:02:20.739 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nFriday 25 September 2026  02:22:20 +0000 (0:00:00.286)       0:02:21.026 ******\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nFriday 25 September 2026  02:22:20 +0000 (0:00:00.277)       0:02:21.304 ******\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:22:20 +0000 (0:00:00.056)       0:02:21.361 ******\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] *******************\nFriday 25 September 2026  02:22:20 +0000 (0:00:00.045)       0:02:21.406 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:22:21 +0000 (0:00:00.846)       0:02:22.253 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 25 September 2026  02:22:23 +0000 (0:00:02.090)       0:02:24.344 ******\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] ***************\nFriday 25 September 2026  02:22:23 +0000 (0:00:00.045)       0:02:24.389 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nFriday 25 September 2026  02:22:24 +0000 (0:00:00.742)       0:02:25.132 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nFriday 25 September 2026  02:22:24 +0000 (0:00:00.793)       0:02:25.925 ******\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] ***\nFriday 25 September 2026  02:22:27 +0000 (0:00:02.259)       0:02:28.185 ******\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] ***************\nFriday 25 September 2026  02:22:27 +0000 (0:00:00.025)       0:02:28.210 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************\nFriday 25 September 2026  02:22:27 +0000 (0:00:00.554)       0:02:28.765 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************\nFriday 25 September 2026  02:22:59 +0000 (0:00:31.751)       0:03:00.516 ******\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=117  changed=54   unreachable=0    failed=0    skipped=35   rescued=0    ignored=2\n\n\nTASKS RECAP ********************************************************************\nFriday 25 September 2026  02:23:00 +0000 (0:00:00.732)       0:03:01.248 ******\n===============================================================================\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 35.80s\nvexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 31.75s\nvexxhost.containers.download_artifact : Download item ------------------- 9.00s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 8.77s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 8.30s\nvexxhost.containers.download_artifact : Download item ------------------- 4.01s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.73s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.14s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.99s\nInstall Debian packages ------------------------------------------------- 2.82s\nGathering Facts --------------------------------------------------------- 2.38s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.26s\nvexxhost.containers.package : Update state for tar ---------------------- 2.19s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.09s\nGathering Facts --------------------------------------------------------- 1.85s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.82s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.81s\nvexxhost.kubernetes.kubelet : Enable noswap service --------------------- 1.75s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.71s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.66s\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] ****\nFriday 25 September 2026  02:23:01 +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 ********************************************************************\nFriday 25 September 2026  02:23:02 +0000 (0:00:01.438)       0:00:01.474 ******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.44s\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] ****\nFriday 25 September 2026  02:23:03 +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 ********************************************************************\nFriday 25 September 2026  02:23:04 +0000 (0:00:01.282)       0:00:01.318 ******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.28s\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] *********************************************************\nFriday 25 September 2026  02:23:05 +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] ****************\nFriday 25 September 2026  02:23:07 +0000 (0:00:02.362)       0:00:02.392 ******\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] *****************************************\nFriday 25 September 2026  02:23:08 +0000 (0:00:00.912)       0:00:03.304 ******\nchanged: [controller]\n\nTASK [Wait for test-password secret to be generated] ***************************\nFriday 25 September 2026  02:23:09 +0000 (0:00:00.919)       0:00:04.224 ******\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 25 September 2026  02:23:10 +0000 (0:00:00.711)       0:00:04.935 ******\n===============================================================================\nGathering Facts --------------------------------------------------------- 2.36s\nCreate a test Password resource ----------------------------------------- 0.92s\nWait for secretgen-controller deployment to be available ---------------- 0.91s\nWait for test-password secret to be generated --------------------------- 0.71s\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] *********************************************************",
                                "Friday 25 September 2026  02:19:59 +0000 (0:00:00.034)       0:00:00.034 ******",
                                "[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] *************************************************",
                                "Friday 25 September 2026  02:20:01 +0000 (0:00:02.381)       0:00:02.415 ******",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:20:04 +0000 (0:00:02.824)       0:00:05.240 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Friday 25 September 2026  02:20:05 +0000 (0:00:00.868)       0:00:06.109 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Friday 25 September 2026  02:20:05 +0000 (0:00:00.354)       0:00:06.463 ******",
                                "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] ****",
                                "Friday 25 September 2026  02:20:06 +0000 (0:00:01.252)       0:00:07.716 ******",
                                "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] *********",
                                "Friday 25 September 2026  02:20:07 +0000 (0:00:00.824)       0:00:08.540 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:00.390)       0:00:08.931 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:00.295)       0:00:09.226 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:00.040)       0:00:09.267 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:00.047)       0:00:09.314 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Friday 25 September 2026  02:20:09 +0000 (0:00:00.944)       0:00:10.259 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Friday 25 September 2026  02:20:09 +0000 (0:00:00.288)       0:00:10.547 ******",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:20:09 +0000 (0:00:00.073)       0:00:10.621 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:10 +0000 (0:00:00.872)       0:00:11.493 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 25 September 2026  02:20:10 +0000 (0:00:00.292)       0:00:11.786 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 25 September 2026  02:20:10 +0000 (0:00:00.057)       0:00:11.844 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:11 +0000 (0:00:00.292)       0:00:12.136 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:20:11 +0000 (0:00:00.112)       0:00:12.249 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:12 +0000 (0:00:00.875)       0:00:13.124 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:12 +0000 (0:00:00.043)       0:00:13.167 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 25 September 2026  02:20:12 +0000 (0:00:00.280)       0:00:13.448 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:13 +0000 (0:00:01.256)       0:00:14.705 ******",
                                "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] *******************",
                                "Friday 25 September 2026  02:20:13 +0000 (0:00:00.154)       0:00:14.859 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:14 +0000 (0:00:00.789)       0:00:15.648 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 25 September 2026  02:20:17 +0000 (0:00:03.139)       0:00:18.788 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 25 September 2026  02:20:17 +0000 (0:00:00.046)       0:00:18.834 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 25 September 2026  02:20:17 +0000 (0:00:00.084)       0:00:18.919 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 25 September 2026  02:20:18 +0000 (0:00:00.041)       0:00:18.960 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 25 September 2026  02:20:26 +0000 (0:00:08.770)       0:00:27.731 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 25 September 2026  02:20:27 +0000 (0:00:00.650)       0:00:28.381 ******",
                                "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] **********",
                                "Friday 25 September 2026  02:20:28 +0000 (0:00:01.247)       0:00:29.629 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 25 September 2026  02:20:29 +0000 (0:00:00.750)       0:00:30.379 ******",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Friday 25 September 2026  02:20:29 +0000 (0:00:00.012)       0:00:30.392 ******",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 25 September 2026  02:20:30 +0000 (0:00:00.876)       0:00:31.268 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 25 September 2026  02:20:31 +0000 (0:00:00.899)       0:00:32.168 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.783)       0:00:32.952 ******",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000193944'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] ***",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.647)       0:00:33.599 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.026)       0:00:33.626 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.031)       0:00:33.657 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.039)       0:00:33.696 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.039)       0:00:33.736 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:00.047)       0:00:33.784 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:33 +0000 (0:00:00.272)       0:00:34.057 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:20:33 +0000 (0:00:00.047)       0:00:34.104 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:33 +0000 (0:00:00.766)       0:00:34.870 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:33 +0000 (0:00:00.044)       0:00:34.914 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.251)       0:00:35.166 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.054)       0:00:35.221 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:38 +0000 (0:00:04.009)       0:00:39.230 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 25 September 2026  02:20:38 +0000 (0:00:00.062)       0:00:39.292 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 25 September 2026  02:20:38 +0000 (0:00:00.040)       0:00:39.333 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 25 September 2026  02:20:38 +0000 (0:00:00.047)       0:00:39.380 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 25 September 2026  02:20:38 +0000 (0:00:00.042)       0:00:39.422 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 25 September 2026  02:20:39 +0000 (0:00:01.029)       0:00:40.452 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 25 September 2026  02:20:40 +0000 (0:00:00.621)       0:00:41.073 ******",
                                "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] **********",
                                "Friday 25 September 2026  02:20:41 +0000 (0:00:01.254)       0:00:42.328 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 25 September 2026  02:20:42 +0000 (0:00:00.761)       0:00:43.089 ******",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 25 September 2026  02:20:42 +0000 (0:00:00.005)       0:00:43.094 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:42 +0000 (0:00:00.433)       0:00:43.528 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:42 +0000 (0:00:00.279)       0:00:43.808 ******",
                                "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] *******************",
                                "Friday 25 September 2026  02:20:42 +0000 (0:00:00.076)       0:00:43.884 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:43 +0000 (0:00:00.665)       0:00:44.550 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:45 +0000 (0:00:01.632)       0:00:46.182 ******",
                                "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] *******************",
                                "Friday 25 September 2026  02:20:45 +0000 (0:00:00.059)       0:00:46.241 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:45 +0000 (0:00:00.605)       0:00:46.847 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Friday 25 September 2026  02:20:47 +0000 (0:00:01.660)       0:00:48.508 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Friday 25 September 2026  02:20:48 +0000 (0:00:00.622)       0:00:49.130 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:48 +0000 (0:00:00.305)       0:00:49.435 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:48 +0000 (0:00:00.284)       0:00:49.720 ******",
                                "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] *******************",
                                "Friday 25 September 2026  02:20:48 +0000 (0:00:00.070)       0:00:49.790 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:50 +0000 (0:00:01.148)       0:00:50.939 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Friday 25 September 2026  02:20:53 +0000 (0:00:02.994)       0:00:53.933 ******",
                                "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] ***********",
                                "Friday 25 September 2026  02:20:53 +0000 (0:00:00.076)       0:00:54.009 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Friday 25 September 2026  02:20:54 +0000 (0:00:01.086)       0:00:55.096 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Friday 25 September 2026  02:20:54 +0000 (0:00:00.387)       0:00:55.483 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Friday 25 September 2026  02:20:55 +0000 (0:00:00.639)       0:00:56.123 ******",
                                "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] *********************",
                                "Friday 25 September 2026  02:20:56 +0000 (0:00:01.203)       0:00:57.327 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:56 +0000 (0:00:00.297)       0:00:57.624 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:20:56 +0000 (0:00:00.061)       0:00:57.686 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:21:05 +0000 (0:00:08.995)       0:01:06.681 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Friday 25 September 2026  02:21:05 +0000 (0:00:00.035)       0:01:06.716 ******",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Friday 25 September 2026  02:21:05 +0000 (0:00:00.049)       0:01:06.766 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Friday 25 September 2026  02:21:05 +0000 (0:00:00.037)       0:01:06.803 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Friday 25 September 2026  02:21:09 +0000 (0:00:03.728)       0:01:10.532 ******",
                                "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] ***",
                                "Friday 25 September 2026  02:21:11 +0000 (0:00:01.711)       0:01:12.243 ******",
                                "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] ********",
                                "Friday 25 September 2026  02:21:12 +0000 (0:00:00.749)       0:01:12.993 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Friday 25 September 2026  02:21:12 +0000 (0:00:00.625)       0:01:13.618 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Friday 25 September 2026  02:21:13 +0000 (0:00:00.636)       0:01:14.255 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Friday 25 September 2026  02:21:13 +0000 (0:00:00.374)       0:01:14.629 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Friday 25 September 2026  02:21:13 +0000 (0:00:00.023)       0:01:14.653 ******",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Friday 25 September 2026  02:21:14 +0000 (0:00:00.576)       0:01:15.230 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Friday 25 September 2026  02:21:14 +0000 (0:00:00.650)       0:01:15.881 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Friday 25 September 2026  02:21:16 +0000 (0:00:01.748)       0:01:17.629 ******",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 25 September 2026  02:21:16 +0000 (0:00:00.012)       0:01:17.642 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Friday 25 September 2026  02:21:17 +0000 (0:00:00.923)       0:01:18.566 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Friday 25 September 2026  02:21:18 +0000 (0:00:00.780)       0:01:19.346 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Friday 25 September 2026  02:21:19 +0000 (0:00:00.978)       0:01:20.325 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.857)       0:01:21.183 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.349)       0:01:21.532 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.536)       0:01:22.069 ******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.086)       0:01:22.155 ******",
                                "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] ***",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.070)       0:01:22.226 ******",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.258)       0:01:22.485 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.054)       0:01:22.539 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.060)       0:01:22.600 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.039)       0:01:22.639 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.650)       0:01:23.289 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.042)       0:01:23.331 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.042)       0:01:23.374 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.041)       0:01:23.415 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.043)       0:01:23.459 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.040)       0:01:23.500 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.048)       0:01:23.548 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:00.042)       0:01:23.591 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Friday 25 September 2026  02:21:58 +0000 (0:00:35.804)       0:01:59.395 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Friday 25 September 2026  02:21:58 +0000 (0:00:00.307)       0:01:59.702 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Friday 25 September 2026  02:21:58 +0000 (0:00:00.033)       0:01:59.736 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Friday 25 September 2026  02:21:59 +0000 (0:00:00.309)       0:02:00.046 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Friday 25 September 2026  02:21:59 +0000 (0:00:00.294)       0:02:00.340 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Friday 25 September 2026  02:21:59 +0000 (0:00:00.266)       0:02:00.607 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Friday 25 September 2026  02:21:59 +0000 (0:00:00.065)       0:02:00.673 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Friday 25 September 2026  02:21:59 +0000 (0:00:00.062)       0:02:00.735 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Friday 25 September 2026  02:21:59 +0000 (0:00:00.059)       0:02:00.794 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Friday 25 September 2026  02:22:08 +0000 (0:00:08.295)       0:02:09.090 ******",
                                "[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] ************",
                                "Friday 25 September 2026  02:22:08 +0000 (0:00:00.827)       0:02:09.918 ******",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Friday 25 September 2026  02:22:09 +0000 (0:00:00.043)       0:02:09.962 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Friday 25 September 2026  02:22:09 +0000 (0:00:00.037)       0:02:10.000 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Friday 25 September 2026  02:22:09 +0000 (0:00:00.042)       0:02:10.042 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Friday 25 September 2026  02:22:09 +0000 (0:00:00.036)       0:02:10.079 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Friday 25 September 2026  02:22:09 +0000 (0:00:00.041)       0:02:10.121 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Friday 25 September 2026  02:22:09 +0000 (0:00:00.466)       0:02:10.588 ******",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:22:10 +0000 (0:00:01.023)       0:02:11.611 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:22:12 +0000 (0:00:01.847)       0:02:13.458 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 25 September 2026  02:22:12 +0000 (0:00:00.290)       0:02:13.749 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 25 September 2026  02:22:15 +0000 (0:00:02.192)       0:02:15.942 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:22:15 +0000 (0:00:00.268)       0:02:16.210 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:22:15 +0000 (0:00:00.033)       0:02:16.243 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:22:16 +0000 (0:00:01.630)       0:02:17.874 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Friday 25 September 2026  02:22:18 +0000 (0:00:01.812)       0:02:19.687 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Friday 25 September 2026  02:22:19 +0000 (0:00:00.388)       0:02:20.075 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Friday 25 September 2026  02:22:19 +0000 (0:00:00.295)       0:02:20.371 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Friday 25 September 2026  02:22:19 +0000 (0:00:00.368)       0:02:20.739 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Friday 25 September 2026  02:22:20 +0000 (0:00:00.286)       0:02:21.026 ******",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Friday 25 September 2026  02:22:20 +0000 (0:00:00.277)       0:02:21.304 ******",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:22:20 +0000 (0:00:00.056)       0:02:21.361 ******",
                                "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] *******************",
                                "Friday 25 September 2026  02:22:20 +0000 (0:00:00.045)       0:02:21.406 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:22:21 +0000 (0:00:00.846)       0:02:22.253 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 25 September 2026  02:22:23 +0000 (0:00:02.090)       0:02:24.344 ******",
                                "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] ***************",
                                "Friday 25 September 2026  02:22:23 +0000 (0:00:00.045)       0:02:24.389 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Friday 25 September 2026  02:22:24 +0000 (0:00:00.742)       0:02:25.132 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Friday 25 September 2026  02:22:24 +0000 (0:00:00.793)       0:02:25.925 ******",
                                "[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] ***",
                                "Friday 25 September 2026  02:22:27 +0000 (0:00:02.259)       0:02:28.185 ******",
                                "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] ***************",
                                "Friday 25 September 2026  02:22:27 +0000 (0:00:00.025)       0:02:28.210 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************",
                                "Friday 25 September 2026  02:22:27 +0000 (0:00:00.554)       0:02:28.765 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************",
                                "Friday 25 September 2026  02:22:59 +0000 (0:00:31.751)       0:03:00.516 ******",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=117  changed=54   unreachable=0    failed=0    skipped=35   rescued=0    ignored=2",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 25 September 2026  02:23:00 +0000 (0:00:00.732)       0:03:01.248 ******",
                                "===============================================================================",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 35.80s",
                                "vexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 31.75s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 9.00s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 8.77s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 8.30s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 4.01s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.73s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.14s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.99s",
                                "Install Debian packages ------------------------------------------------- 2.82s",
                                "Gathering Facts --------------------------------------------------------- 2.38s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.26s",
                                "vexxhost.containers.package : Update state for tar ---------------------- 2.19s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.09s",
                                "Gathering Facts --------------------------------------------------------- 1.85s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.82s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.81s",
                                "vexxhost.kubernetes.kubelet : Enable noswap service --------------------- 1.75s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.71s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.66s",
                                "INFO     [secretgen-controller > prepare] Executed: Successful",
                                "INFO     [secretgen-controller > converge] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Friday 25 September 2026  02:23:01 +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 ********************************************************************",
                                "Friday 25 September 2026  02:23:02 +0000 (0:00:01.438)       0:00:01.474 ******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.44s",
                                "INFO     [secretgen-controller > converge] Executed: Successful",
                                "INFO     [secretgen-controller > idempotence] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Friday 25 September 2026  02:23:03 +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 ********************************************************************",
                                "Friday 25 September 2026  02:23:04 +0000 (0:00:01.282)       0:00:01.318 ******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.28s",
                                "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] *********************************************************",
                                "Friday 25 September 2026  02:23:05 +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] ****************",
                                "Friday 25 September 2026  02:23:07 +0000 (0:00:02.362)       0:00:02.392 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "ok: [controller]",
                                "",
                                "TASK [Create a test Password resource] *****************************************",
                                "Friday 25 September 2026  02:23:08 +0000 (0:00:00.912)       0:00:03.304 ******",
                                "changed: [controller]",
                                "",
                                "TASK [Wait for test-password secret to be generated] ***************************",
                                "Friday 25 September 2026  02:23:09 +0000 (0:00:00.919)       0:00:04.224 ******",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 25 September 2026  02:23:10 +0000 (0:00:00.711)       0:00:04.935 ******",
                                "===============================================================================",
                                "Gathering Facts --------------------------------------------------------- 2.36s",
                                "Create a test Password resource ----------------------------------------- 0.92s",
                                "Wait for secretgen-controller deployment to be available ---------------- 0.91s",
                                "Wait for test-password secret to be generated --------------------------- 0.71s",
                                "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-e28c-c779-000000000007-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:10.882482Z",
                            "start": "2026-09-25T02:19:32.740171Z"
                        },
                        "id": "0242ac17-0010-e28c-c779-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-09-25T02:23:59.936414Z",
                    "start": "2026-09-25T02:23:11.589259Z"
                },
                "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:12.021824Z",
                            "start": "2026-09-25T02:23:11.602076Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.155138",
                            "end": "2026-09-25 02:23:12.603219",
                            "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-6be0-c8cc-00000000000d-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:12.448081",
                            "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-6be0-c8cc-00000000000d-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:13.086897Z",
                            "start": "2026-09-25T02:23:12.067206Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.226:/tmp/logs/system /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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-6be0-c8cc-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:13.861852Z",
                            "start": "2026-09-25T02:23:13.099844Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:14.365138Z",
                            "start": "2026-09-25T02:23:13.882872Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-000000000012",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:01.893374",
                            "end": "2026-09-25 02:23:16.585282",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-6be0-c8cc-000000000014-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:14.691908",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac17-0010-6be0-c8cc-000000000014-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:16.928811Z",
                            "start": "2026-09-25T02:23:14.413096Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.226:/tmp/logs/helm /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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-6be0-c8cc-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:17.521489Z",
                            "start": "2026-09-25T02:23:16.933091Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:17.857623Z",
                            "start": "2026-09-25T02:23:17.542355Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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:12.720656",
                            "end": "2026-09-25 02:23:30.968060",
                            "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-6be0-c8cc-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:18.247404",
                            "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\nclusterrole/system:controller:endpointslice-controller\nclusterrole/system:controller:endpointslicemirroring-controller\nclusterrole/system:controller:ephemeral-volume-controller\nclusterrole/system:controller:expand-controller\nclusterrole/system:controller:generic-garbage-collector\nclusterrole/system:controller:horizontal-pod-autoscaler\nclusterrolebinding/cilium\nclusterrolebinding/cilium-operator\nclusterrole/system:controller:job-controller\nclusterrolebinding/cluster-admin\nclusterrole/system:controller:namespace-controller\nclusterrole/system:controller:node-controller\nclusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system\nclusterrole/system:controller:persistent-volume-binder\nclusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding\nclusterrolebinding/kubeadm:get-nodes\nclusterrole/system:controller:pod-garbage-collector\nclusterrolebinding/kubeadm:kubelet-bootstrap\nclusterrole/system:controller:pv-protection-controller\nclusterrolebinding/kubeadm:node-autoapprove-bootstrap\nclusterrole/system:controller:pvc-protection-controller\nclusterrolebinding/kubeadm:node-autoapprove-certificate-rotation\nclusterrole/system:controller:replicaset-controller\nclusterrolebinding/kubeadm:node-proxier\nclusterrole/system:controller:replication-controller\nclusterrolebinding/secretgen-controller-cluster-role-binding\nclusterrole/system:controller:resourcequota-controller\nclusterrolebinding/system:basic-user\nclusterrole/system:controller:root-ca-cert-publisher\nclusterrolebinding/system:controller:attachdetach-controller\nclusterrolebinding/system:controller:certificate-controller\nclusterrole/system:controller:route-controller\nclusterrolebinding/system:controller:clusterrole-aggregation-controller\nclusterrolebinding/system:controller:cronjob-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\nclusterrole/system:controller:ttl-after-finished-controller\nclusterrolebinding/system:controller:endpointslice-controller\nclusterrole/system:controller:ttl-controller\nclusterrolebinding/system:controller:endpointslicemirroring-controller\nclusterrolebinding/system:controller:ephemeral-volume-controller\nclusterrole/system:coredns\nclusterrole/system:discovery\nclusterrolebinding/system:controller:expand-controller\nclusterrole/system:heapster\nclusterrolebinding/system:controller:generic-garbage-collector\nclusterrole/system:kube-aggregator\nclusterrolebinding/system:controller:horizontal-pod-autoscaler\nclusterrole/system:kube-controller-manager\nclusterrolebinding/system:controller:job-controller\nclusterrolebinding/system:controller:namespace-controller\nclusterrole/system:kube-dns\nclusterrolebinding/system:controller:node-controller\nclusterrole/system:kube-scheduler\nclusterrolebinding/system:controller:persistent-volume-binder\nclusterrolebinding/system:controller:pod-garbage-collector\nclusterrole/system:kubelet-api-admin\nclusterrolebinding/system:controller:pv-protection-controller\nclusterrole/system:monitoring\nclusterrolebinding/system:controller:pvc-protection-controller\nclusterrole/system:node\nclusterrolebinding/system:controller:replicaset-controller\nclusterrole/system:node-bootstrapper\nclusterrolebinding/system:controller:replication-controller\nclusterrole/system:node-problem-detector\nclusterrolebinding/system:controller:resourcequota-controller\nclusterrole/system:node-proxier\nclusterrole/system:persistent-volume-provisioner\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\nclusterrolebinding/system:controller:service-controller\nclusterrole/system:volume-scheduler\nclusterrolebinding/system:controller:statefulset-controller\nclusterrole/view\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",
                                "clusterrole/system:controller:endpointslice-controller",
                                "clusterrole/system:controller:endpointslicemirroring-controller",
                                "clusterrole/system:controller:ephemeral-volume-controller",
                                "clusterrole/system:controller:expand-controller",
                                "clusterrole/system:controller:generic-garbage-collector",
                                "clusterrole/system:controller:horizontal-pod-autoscaler",
                                "clusterrolebinding/cilium",
                                "clusterrolebinding/cilium-operator",
                                "clusterrole/system:controller:job-controller",
                                "clusterrolebinding/cluster-admin",
                                "clusterrole/system:controller:namespace-controller",
                                "clusterrole/system:controller:node-controller",
                                "clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system",
                                "clusterrole/system:controller:persistent-volume-binder",
                                "clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding",
                                "clusterrolebinding/kubeadm:get-nodes",
                                "clusterrole/system:controller:pod-garbage-collector",
                                "clusterrolebinding/kubeadm:kubelet-bootstrap",
                                "clusterrole/system:controller:pv-protection-controller",
                                "clusterrolebinding/kubeadm:node-autoapprove-bootstrap",
                                "clusterrole/system:controller:pvc-protection-controller",
                                "clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation",
                                "clusterrole/system:controller:replicaset-controller",
                                "clusterrolebinding/kubeadm:node-proxier",
                                "clusterrole/system:controller:replication-controller",
                                "clusterrolebinding/secretgen-controller-cluster-role-binding",
                                "clusterrole/system:controller:resourcequota-controller",
                                "clusterrolebinding/system:basic-user",
                                "clusterrole/system:controller:root-ca-cert-publisher",
                                "clusterrolebinding/system:controller:attachdetach-controller",
                                "clusterrolebinding/system:controller:certificate-controller",
                                "clusterrole/system:controller:route-controller",
                                "clusterrolebinding/system:controller:clusterrole-aggregation-controller",
                                "clusterrolebinding/system:controller:cronjob-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",
                                "clusterrole/system:controller:ttl-after-finished-controller",
                                "clusterrolebinding/system:controller:endpointslice-controller",
                                "clusterrole/system:controller:ttl-controller",
                                "clusterrolebinding/system:controller:endpointslicemirroring-controller",
                                "clusterrolebinding/system:controller:ephemeral-volume-controller",
                                "clusterrole/system:coredns",
                                "clusterrole/system:discovery",
                                "clusterrolebinding/system:controller:expand-controller",
                                "clusterrole/system:heapster",
                                "clusterrolebinding/system:controller:generic-garbage-collector",
                                "clusterrole/system:kube-aggregator",
                                "clusterrolebinding/system:controller:horizontal-pod-autoscaler",
                                "clusterrole/system:kube-controller-manager",
                                "clusterrolebinding/system:controller:job-controller",
                                "clusterrolebinding/system:controller:namespace-controller",
                                "clusterrole/system:kube-dns",
                                "clusterrolebinding/system:controller:node-controller",
                                "clusterrole/system:kube-scheduler",
                                "clusterrolebinding/system:controller:persistent-volume-binder",
                                "clusterrolebinding/system:controller:pod-garbage-collector",
                                "clusterrole/system:kubelet-api-admin",
                                "clusterrolebinding/system:controller:pv-protection-controller",
                                "clusterrole/system:monitoring",
                                "clusterrolebinding/system:controller:pvc-protection-controller",
                                "clusterrole/system:node",
                                "clusterrolebinding/system:controller:replicaset-controller",
                                "clusterrole/system:node-bootstrapper",
                                "clusterrolebinding/system:controller:replication-controller",
                                "clusterrole/system:node-problem-detector",
                                "clusterrolebinding/system:controller:resourcequota-controller",
                                "clusterrole/system:node-proxier",
                                "clusterrole/system:persistent-volume-provisioner",
                                "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",
                                "clusterrolebinding/system:controller:service-controller",
                                "clusterrole/system:volume-scheduler",
                                "clusterrolebinding/system:controller:statefulset-controller",
                                "clusterrole/view",
                                "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-6be0-c8cc-00000000001a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:31.038437Z",
                            "start": "2026-09-25T02:23:17.998040Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:31.328026Z",
                            "start": "2026-09-25T02:23:31.048469Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:12.978282",
                            "end": "2026-09-25 02:23:44.592709",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-6be0-c8cc-00000000001c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:31.614427",
                            "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\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/envoy-gateway-config\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\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\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\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\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/pods/envoy-gateway-78446f96c9-zjp8m\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\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\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/secrets/test-password\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\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-infra-manager\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding\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\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\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\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\nenvoy-gateway-system/serviceaccounts/default\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\nenvoy-gateway-system/secrets/envoy\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\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\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-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\nenvoy-gateway-system/secrets/envoy-oidc-hmac\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-rate-limit\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\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\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/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\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\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/cluster-info\nkube-public/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\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\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-node-lease/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-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\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\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\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\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\nkube-system/configmaps/kube-proxy\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\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/configmaps/kube-root-ca.crt\nkube-system/configmaps/kubeadm-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/kubelet-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nsecretgen-controller/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/daemonsets/cilium\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/daemonsets/kube-proxy\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/deployment/cilium-operator\nkube-system/deployment/coredns\nsecretgen-controller/deployment/secretgen-controller\nkube-system/endpoints/kube-dns\nkube-system/pods/cilium-operator-7fcd8d6ffd-wxvfm\nkube-system/pods/cilium-s8drz\nkube-system/pods/coredns-5dd5756b68-xgcr2\nkube-system/pods/coredns-77cccfdc44-b54mt\nkube-system/pods/coredns-77cccfdc44-hkfh9\nkube-system/pods/etcd-controller\nkube-system/pods/kube-apiserver-controller\nkube-system/pods/kube-controller-manager-controller\nkube-system/pods/kube-proxy-skkhd\nkube-system/pods/kube-scheduler-controller\nkube-system/pods/kube-vip-controller\nsecretgen-controller/pods/secretgen-controller-ffb97c6dc-6d7kr\nkube-system/rolebindings/cilium-config-agent\nkube-system/roles/cilium-config-agent\nkube-system/rolebindings/kube-proxy\nkube-system/roles/extension-apiserver-authentication-reader\nkube-system/rolebindings/kubeadm:kubeadm-certs\nkube-system/roles/kube-proxy\nkube-system/rolebindings/kubeadm:kubelet-config\nkube-system/roles/kubeadm:kubeadm-certs\nkube-system/rolebindings/kubeadm:nodes-kubeadm-config\nkube-system/roles/kubeadm:kubelet-config\nkube-system/rolebindings/system::extension-apiserver-authentication-reader\nkube-system/rolebindings/system::leader-locking-kube-controller-manager\nkube-system/roles/kubeadm:nodes-kubeadm-config\nkube-system/rolebindings/system::leader-locking-kube-scheduler\nkube-system/roles/system::leader-locking-kube-controller-manager\nkube-system/rolebindings/system:controller:bootstrap-signer\nkube-system/roles/system::leader-locking-kube-scheduler\nkube-system/rolebindings/system:controller:cloud-provider\nkube-system/roles/system:controller:bootstrap-signer\nkube-system/rolebindings/system:controller:token-cleaner\nkube-system/roles/system:controller:cloud-provider\nkube-system/roles/system:controller:token-cleaner\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/secrets/bootstrap-token-cclz8d\nkube-system/secrets/bootstrap-token-g54es2\nkube-system/serviceaccounts/endpointslice-controller\nkube-system/secrets/kubeadm-certs\nkube-system/serviceaccounts/endpointslicemirroring-controller\nkube-system/secrets/sh.helm.release.v1.cilium.v1\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\nkube-system/services/kube-dns\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",
                                "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/envoy-gateway-config",
                                "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",
                                "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",
                                "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",
                                "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",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/pods/envoy-gateway-78446f96c9-zjp8m",
                                "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",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "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/secrets/test-password",
                                "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",
                                "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-infra-manager",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding",
                                "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",
                                "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",
                                "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",
                                "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",
                                "envoy-gateway-system/serviceaccounts/default",
                                "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",
                                "envoy-gateway-system/secrets/envoy",
                                "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",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "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-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",
                                "envoy-gateway-system/secrets/envoy-oidc-hmac",
                                "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-rate-limit",
                                "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",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "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/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",
                                "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",
                                "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/cluster-info",
                                "kube-public/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",
                                "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",
                                "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-node-lease/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-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",
                                "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",
                                "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",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "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",
                                "kube-system/configmaps/kube-proxy",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "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/configmaps/kube-root-ca.crt",
                                "kube-system/configmaps/kubeadm-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/kubelet-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "secretgen-controller/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/daemonsets/cilium",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/daemonsets/kube-proxy",
                                "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/deployment/cilium-operator",
                                "kube-system/deployment/coredns",
                                "secretgen-controller/deployment/secretgen-controller",
                                "kube-system/endpoints/kube-dns",
                                "kube-system/pods/cilium-operator-7fcd8d6ffd-wxvfm",
                                "kube-system/pods/cilium-s8drz",
                                "kube-system/pods/coredns-5dd5756b68-xgcr2",
                                "kube-system/pods/coredns-77cccfdc44-b54mt",
                                "kube-system/pods/coredns-77cccfdc44-hkfh9",
                                "kube-system/pods/etcd-controller",
                                "kube-system/pods/kube-apiserver-controller",
                                "kube-system/pods/kube-controller-manager-controller",
                                "kube-system/pods/kube-proxy-skkhd",
                                "kube-system/pods/kube-scheduler-controller",
                                "kube-system/pods/kube-vip-controller",
                                "secretgen-controller/pods/secretgen-controller-ffb97c6dc-6d7kr",
                                "kube-system/rolebindings/cilium-config-agent",
                                "kube-system/roles/cilium-config-agent",
                                "kube-system/rolebindings/kube-proxy",
                                "kube-system/roles/extension-apiserver-authentication-reader",
                                "kube-system/rolebindings/kubeadm:kubeadm-certs",
                                "kube-system/roles/kube-proxy",
                                "kube-system/rolebindings/kubeadm:kubelet-config",
                                "kube-system/roles/kubeadm:kubeadm-certs",
                                "kube-system/rolebindings/kubeadm:nodes-kubeadm-config",
                                "kube-system/roles/kubeadm:kubelet-config",
                                "kube-system/rolebindings/system::extension-apiserver-authentication-reader",
                                "kube-system/rolebindings/system::leader-locking-kube-controller-manager",
                                "kube-system/roles/kubeadm:nodes-kubeadm-config",
                                "kube-system/rolebindings/system::leader-locking-kube-scheduler",
                                "kube-system/roles/system::leader-locking-kube-controller-manager",
                                "kube-system/rolebindings/system:controller:bootstrap-signer",
                                "kube-system/roles/system::leader-locking-kube-scheduler",
                                "kube-system/rolebindings/system:controller:cloud-provider",
                                "kube-system/roles/system:controller:bootstrap-signer",
                                "kube-system/rolebindings/system:controller:token-cleaner",
                                "kube-system/roles/system:controller:cloud-provider",
                                "kube-system/roles/system:controller:token-cleaner",
                                "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/secrets/bootstrap-token-cclz8d",
                                "kube-system/secrets/bootstrap-token-g54es2",
                                "kube-system/serviceaccounts/endpointslice-controller",
                                "kube-system/secrets/kubeadm-certs",
                                "kube-system/serviceaccounts/endpointslicemirroring-controller",
                                "kube-system/secrets/sh.helm.release.v1.cilium.v1",
                                "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",
                                "kube-system/services/kube-dns",
                                "secretgen-controller/serviceaccounts/default",
                                "secretgen-controller/serviceaccounts/secretgen-controller-sa"
                            ],
                            "zuul_log_id": "0242ac17-0010-6be0-c8cc-00000000001c-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:44.900654Z",
                            "start": "2026-09-25T02:23:31.368981Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.226:/tmp/logs/objects /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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-zjp8m.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-zjp8m.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-wxvfm.txt\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-wxvfm.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-s8drz.txt\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-s8drz.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-xgcr2.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-xgcr2.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b54mt.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b54mt.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-hkfh9.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-hkfh9.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-skkhd.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-skkhd.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-cclz8d.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-cclz8d.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-g54es2.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-g54es2.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-6d7kr.txt\n>f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-6d7kr.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-zjp8m.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-zjp8m.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-wxvfm.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-wxvfm.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-s8drz.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-s8drz.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-xgcr2.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-xgcr2.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b54mt.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b54mt.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-hkfh9.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-hkfh9.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-skkhd.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-skkhd.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-cclz8d.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-cclz8d.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-g54es2.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-g54es2.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-6d7kr.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-6d7kr.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-6be0-c8cc-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:45.627242Z",
                            "start": "2026-09-25T02:23:44.925554Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:45.935044Z",
                            "start": "2026-09-25T02:23:45.648032Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:46.235429Z",
                            "start": "2026-09-25T02:23:45.945189Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:07.604160",
                            "end": "2026-09-25 02:23:54.122089",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-6be0-c8cc-000000000023-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 123,
                            "start": "2026-09-25 02:23:46.517929",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "envoy-gateway-system/envoy-gateway-78446f96c9-zjp8m/envoy-gateway\nError from server (BadRequest): previous terminated container \"envoy-gateway\" in pod \"envoy-gateway-78446f96c9-zjp8m\" not found\nkube-system/cilium-operator-7fcd8d6ffd-wxvfm/cilium-operator\nError from server (BadRequest): previous terminated container \"cilium-operator\" in pod \"cilium-operator-7fcd8d6ffd-wxvfm\" not found\nkube-system/cilium-s8drz/config\nError from server (BadRequest): previous terminated container \"config\" in pod \"cilium-s8drz\" not found\nkube-system/cilium-s8drz/mount-cgroup\nError from server (BadRequest): previous terminated container \"mount-cgroup\" in pod \"cilium-s8drz\" not found\nkube-system/cilium-s8drz/apply-sysctl-overwrites\nError from server (BadRequest): previous terminated container \"apply-sysctl-overwrites\" in pod \"cilium-s8drz\" not found\nkube-system/cilium-s8drz/mount-bpf-fs\nError from server (BadRequest): previous terminated container \"mount-bpf-fs\" in pod \"cilium-s8drz\" not found\nkube-system/cilium-s8drz/clean-cilium-state\nError from server (BadRequest): previous terminated container \"clean-cilium-state\" in pod \"cilium-s8drz\" not found\nkube-system/cilium-s8drz/install-cni-binaries\nError from server (BadRequest): previous terminated container \"install-cni-binaries\" in pod \"cilium-s8drz\" not found\nkube-system/cilium-s8drz/cilium-agent\nError from server (BadRequest): previous terminated container \"cilium-agent\" in pod \"cilium-s8drz\" not found\nkube-system/coredns-5dd5756b68-xgcr2/coredns\nError from server (BadRequest): previous terminated container \"coredns\" in pod \"coredns-5dd5756b68-xgcr2\" not found\nkube-system/coredns-77cccfdc44-b54mt/coredns\nkube-system/coredns-77cccfdc44-hkfh9/coredns\nkube-system/etcd-controller/etcd\nError from server (BadRequest): previous terminated container \"etcd\" in pod \"etcd-controller\" not found\nkube-system/kube-apiserver-controller/kube-apiserver\nError from server (BadRequest): previous terminated container \"kube-apiserver\" in pod \"kube-apiserver-controller\" not found\nkube-system/kube-controller-manager-controller/kube-controller-manager\nError from server (BadRequest): previous terminated container \"kube-controller-manager\" in pod \"kube-controller-manager-controller\" not found\nkube-system/kube-proxy-skkhd/kube-proxy\nError from server (BadRequest): previous terminated container \"kube-proxy\" in pod \"kube-proxy-skkhd\" not found\nkube-system/kube-scheduler-controller/kube-scheduler\nError from server (BadRequest): previous terminated container \"kube-scheduler\" in pod \"kube-scheduler-controller\" not found\nkube-system/kube-vip-controller/kube-vip\nError from server (BadRequest): previous terminated container \"kube-vip\" in pod \"kube-vip-controller\" not found\nsecretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/secretgen-controller\nError from server (BadRequest): previous terminated container \"secretgen-controller\" in pod \"secretgen-controller-ffb97c6dc-6d7kr\" not found",
                            "stdout_lines": [
                                "envoy-gateway-system/envoy-gateway-78446f96c9-zjp8m/envoy-gateway",
                                "Error from server (BadRequest): previous terminated container \"envoy-gateway\" in pod \"envoy-gateway-78446f96c9-zjp8m\" not found",
                                "kube-system/cilium-operator-7fcd8d6ffd-wxvfm/cilium-operator",
                                "Error from server (BadRequest): previous terminated container \"cilium-operator\" in pod \"cilium-operator-7fcd8d6ffd-wxvfm\" not found",
                                "kube-system/cilium-s8drz/config",
                                "Error from server (BadRequest): previous terminated container \"config\" in pod \"cilium-s8drz\" not found",
                                "kube-system/cilium-s8drz/mount-cgroup",
                                "Error from server (BadRequest): previous terminated container \"mount-cgroup\" in pod \"cilium-s8drz\" not found",
                                "kube-system/cilium-s8drz/apply-sysctl-overwrites",
                                "Error from server (BadRequest): previous terminated container \"apply-sysctl-overwrites\" in pod \"cilium-s8drz\" not found",
                                "kube-system/cilium-s8drz/mount-bpf-fs",
                                "Error from server (BadRequest): previous terminated container \"mount-bpf-fs\" in pod \"cilium-s8drz\" not found",
                                "kube-system/cilium-s8drz/clean-cilium-state",
                                "Error from server (BadRequest): previous terminated container \"clean-cilium-state\" in pod \"cilium-s8drz\" not found",
                                "kube-system/cilium-s8drz/install-cni-binaries",
                                "Error from server (BadRequest): previous terminated container \"install-cni-binaries\" in pod \"cilium-s8drz\" not found",
                                "kube-system/cilium-s8drz/cilium-agent",
                                "Error from server (BadRequest): previous terminated container \"cilium-agent\" in pod \"cilium-s8drz\" not found",
                                "kube-system/coredns-5dd5756b68-xgcr2/coredns",
                                "Error from server (BadRequest): previous terminated container \"coredns\" in pod \"coredns-5dd5756b68-xgcr2\" not found",
                                "kube-system/coredns-77cccfdc44-b54mt/coredns",
                                "kube-system/coredns-77cccfdc44-hkfh9/coredns",
                                "kube-system/etcd-controller/etcd",
                                "Error from server (BadRequest): previous terminated container \"etcd\" in pod \"etcd-controller\" not found",
                                "kube-system/kube-apiserver-controller/kube-apiserver",
                                "Error from server (BadRequest): previous terminated container \"kube-apiserver\" in pod \"kube-apiserver-controller\" not found",
                                "kube-system/kube-controller-manager-controller/kube-controller-manager",
                                "Error from server (BadRequest): previous terminated container \"kube-controller-manager\" in pod \"kube-controller-manager-controller\" not found",
                                "kube-system/kube-proxy-skkhd/kube-proxy",
                                "Error from server (BadRequest): previous terminated container \"kube-proxy\" in pod \"kube-proxy-skkhd\" not found",
                                "kube-system/kube-scheduler-controller/kube-scheduler",
                                "Error from server (BadRequest): previous terminated container \"kube-scheduler\" in pod \"kube-scheduler-controller\" not found",
                                "kube-system/kube-vip-controller/kube-vip",
                                "Error from server (BadRequest): previous terminated container \"kube-vip\" in pod \"kube-vip-controller\" not found",
                                "secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/secretgen-controller",
                                "Error from server (BadRequest): previous terminated container \"secretgen-controller\" in pod \"secretgen-controller-ffb97c6dc-6d7kr\" not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-6be0-c8cc-000000000023-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:54.300557Z",
                            "start": "2026-09-25T02:23:46.277803Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.226:/tmp/logs/pod-logs /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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-zjp8m/\n>f+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-zjp8m/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-zjp8m/\n>f+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-zjp8m/envoy-gateway.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/\ncd+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/cilium-operator.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/apply-sysctl-overwrites.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/cilium-agent.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/clean-cilium-state.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/config.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/install-cni-binaries.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/mount-bpf-fs.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/mount-cgroup.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-xgcr2/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-xgcr2/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b54mt/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b54mt/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-hkfh9/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-hkfh9/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/etcd.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/kube-apiserver.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/kube-controller-manager.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-skkhd/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-skkhd/kube-proxy.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/kube-scheduler.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/kube-vip.txt\ncd+++++++++ pod-logs/failed-pods/secretgen-controller/\ncd+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/\n>f+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/secretgen-controller.txt\ncd+++++++++ pod-logs/kube-system/\ncd+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/\n>f+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/cilium-operator.txt\ncd+++++++++ pod-logs/kube-system/cilium-s8drz/\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/apply-sysctl-overwrites.txt\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/cilium-agent.txt\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/clean-cilium-state.txt\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/config.txt\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/install-cni-binaries.txt\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/mount-bpf-fs.txt\n>f+++++++++ pod-logs/kube-system/cilium-s8drz/mount-cgroup.txt\ncd+++++++++ pod-logs/kube-system/coredns-5dd5756b68-xgcr2/\n>f+++++++++ pod-logs/kube-system/coredns-5dd5756b68-xgcr2/coredns.txt\ncd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b54mt/\n>f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b54mt/coredns.txt\ncd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-hkfh9/\n>f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-hkfh9/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-skkhd/\n>f+++++++++ pod-logs/kube-system/kube-proxy-skkhd/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-6d7kr/\n>f+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/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-zjp8m/",
                                ">f+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-zjp8m/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-zjp8m/",
                                ">f+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-zjp8m/envoy-gateway.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/cilium-operator.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/apply-sysctl-overwrites.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/cilium-agent.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/clean-cilium-state.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/config.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/install-cni-binaries.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/mount-bpf-fs.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-s8drz/mount-cgroup.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-xgcr2/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-xgcr2/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b54mt/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b54mt/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-hkfh9/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-hkfh9/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/etcd.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/kube-apiserver.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/kube-controller-manager.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-skkhd/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-skkhd/kube-proxy.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/kube-scheduler.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/kube-vip.txt",
                                "cd+++++++++ pod-logs/failed-pods/secretgen-controller/",
                                "cd+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/",
                                ">f+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/secretgen-controller.txt",
                                "cd+++++++++ pod-logs/kube-system/",
                                "cd+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/",
                                ">f+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-wxvfm/cilium-operator.txt",
                                "cd+++++++++ pod-logs/kube-system/cilium-s8drz/",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/apply-sysctl-overwrites.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/cilium-agent.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/clean-cilium-state.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/config.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/install-cni-binaries.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/mount-bpf-fs.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-s8drz/mount-cgroup.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-5dd5756b68-xgcr2/",
                                ">f+++++++++ pod-logs/kube-system/coredns-5dd5756b68-xgcr2/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b54mt/",
                                ">f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b54mt/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-hkfh9/",
                                ">f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-hkfh9/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-skkhd/",
                                ">f+++++++++ pod-logs/kube-system/kube-proxy-skkhd/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-6d7kr/",
                                ">f+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-6d7kr/secretgen-controller.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:54.896089Z",
                            "start": "2026-09-25T02:23:54.311545Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:55.195247Z",
                            "start": "2026-09-25T02:23:54.916336Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.042553",
                            "end": "2026-09-25 02:23:56.526295",
                            "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-6be0-c8cc-000000000029-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:55.483742",
                            "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-6be0-c8cc-000000000029-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:56.758762Z",
                            "start": "2026-09-25T02:23:55.239327Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.113206",
                            "end": "2026-09-25 02:23:57.185429",
                            "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-6be0-c8cc-00000000002a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:57.072223",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ceph-mgr endpoints: ",
                            "stdout_lines": [
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0010-6be0-c8cc-00000000002a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:57.314638Z",
                            "start": "2026-09-25T02:23:56.804299Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.111609",
                            "end": "2026-09-25 02:23:57.702062",
                            "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-6be0-c8cc-00000000002b-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:57.590453",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac17-0010-6be0-c8cc-00000000002b-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:57.863982Z",
                            "start": "2026-09-25T02:23:57.346877Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.226:/tmp/logs/prometheus /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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-6be0-c8cc-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:58.545773Z",
                            "start": "2026-09-25T02:23:57.874431Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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-6be0-c8cc-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:58.832901Z",
                            "start": "2026-09-25T02:23:58.559454Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.013010",
                            "end": "2026-09-25 02:23:59.137467",
                            "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-6be0-c8cc-000000000031-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-09-25 02:23:59.124457",
                            "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-6be0-c8cc-000000000031-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-6be0-c8cc-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:59.385667Z",
                            "start": "2026-09-25T02:23:58.874450Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-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.226:/tmp/logs/selenium /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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-6be0-c8cc-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:59.936414Z",
                            "start": "2026-09-25T02:23:59.390047Z"
                        },
                        "id": "0242ac17-0010-6be0-c8cc-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 23,
            "failures": 0,
            "ignored": 2,
            "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-09-25T02:24:04.094926Z",
                    "start": "2026-09-25T02:24:00.696282Z"
                },
                "id": "0242ac17-0010-1f44-ae9f-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-1f44-ae9f-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:24:00.752707Z",
                            "start": "2026-09-25T02:24:00.707250Z"
                        },
                        "id": "0242ac17-0010-1f44-ae9f-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1f44-ae9f-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:24:00.790185Z",
                            "start": "2026-09-25T02:24:00.758769Z"
                        },
                        "id": "0242ac17-0010-1f44-ae9f-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/5dbded4701fc4dee8839bda98d8c394b/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1f44-ae9f-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:24:01.684380Z",
                            "start": "2026-09-25T02:24:00.796905Z"
                        },
                        "id": "0242ac17-0010-1f44-ae9f-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.226:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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.226:/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/5dbded4701fc4dee8839bda98d8c394b/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1f44-ae9f-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:24:03.425318Z",
                            "start": "2026-09-25T02:24:01.699035Z"
                        },
                        "id": "0242ac17-0010-1f44-ae9f-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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/artifacts/* /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007008",
                                    "end": "2026-09-25 02:24:03.815944",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/artifacts/* /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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-09-25 02:24:03.808936",
                                    "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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/docs/* /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006172",
                                    "end": "2026-09-25 02:24:04.062537",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/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/5dbded4701fc4dee8839bda98d8c394b/work/docs/* /var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/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-09-25 02:24:04.056365",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-1f44-ae9f-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:24:04.094926Z",
                            "start": "2026-09-25T02:24:03.443927Z"
                        },
                        "id": "0242ac17-0010-1f44-ae9f-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:24:04.630191Z",
                    "start": "2026-09-25T02:24:04.110356Z"
                },
                "id": "0242ac17-0010-1f44-ae9f-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCTacUJeEHRR1+77ssfFWGZlRAS4DInyEIg4EGexk8SC5jcW4NtrWFnv1lybxtypJCrIwzX/2KYERhVqvJl5cvfn673gqWSGnxLdJX++2vKDC0fhtbEQXpPPZuxRO3SqdZdrkLW5BN11aGZDI3pB+iDTGZNwnARWxuL+tTbHmNQHXsf9SaTvn4bcrxZvWejwBcQcQ4AQwSBVdfvBhEyHsaDuKAg6ulbuTHD9Ukz8c+Jv2XlzzjDujwZStNRkJeBjadPDQKSuHj7KsI6YLEPz/a5v3J4hRAndbeJ32JOp4uPG5AViK33KSnDy18TECBdY4/x6k8PCe5MTFXg4H6IFg5IIgG/PhKuuI7GB0hBvJFPGzmgbybjEwwSxDxHu8e9OYc95wE0jpBVCEGNRmUEMsvaZWSOD//pDqq1cN47i5UhySpxNGuRpRWhQHQ+EqYGZOitnJLbzGqYkgwBZ/lmJ3CsBWiTtQrYAU42caeKPvAKNRIwtU0pqSTu401ccwDdPLs= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCTacUJeEHRR1+77ssfFWGZlRAS4DInyEIg4EGexk8SC5jcW4NtrWFnv1lybxtypJCrIwzX/2KYERhVqvJl5cvfn673gqWSGnxLdJX++2vKDC0fhtbEQXpPPZuxRO3SqdZdrkLW5BN11aGZDI3pB+iDTGZNwnARWxuL+tTbHmNQHXsf9SaTvn4bcrxZvWejwBcQcQ4AQwSBVdfvBhEyHsaDuKAg6ulbuTHD9Ukz8c+Jv2XlzzjDujwZStNRkJeBjadPDQKSuHj7KsI6YLEPz/a5v3J4hRAndbeJ32JOp4uPG5AViK33KSnDy18TECBdY4/x6k8PCe5MTFXg4H6IFg5IIgG/PhKuuI7GB0hBvJFPGzmgbybjEwwSxDxHu8e9OYc95wE0jpBVCEGNRmUEMsvaZWSOD//pDqq1cN47i5UhySpxNGuRpRWhQHQ+EqYGZOitnJLbzGqYkgwBZ/lmJ3CsBWiTtQrYAU42caeKPvAKNRIwtU0pqSTu401ccwDdPLs= 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-1f44-ae9f-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/5dbded4701fc4dee8839bda98d8c394b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:24:04.630191Z",
                            "start": "2026-09-25T02:24:04.123032Z"
                        },
                        "id": "0242ac17-0010-1f44-ae9f-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
}
]
