[
{
    "branch": "master",
    "index": "0",
    "phase": "pre",
    "playbook": "review.rdoproject.org/config/playbooks/base-minimal/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:19:11.911588Z",
                    "start": "2026-06-12T20:19:09.005714Z"
                },
                "id": "0a580a2a-0021-bf45-a0c2-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": "(hd0,gpt3)/vmlinuz-5.14.0-427.13.1.el9_4.x86_64",
                                    "console": "ttyS0,115200n8",
                                    "crashkernel": "1G-4G:192M,4G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "root": "UUID=2fb0abc1-9d08-48bc-9719-108d4ed14685"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-12",
                                    "day": "12",
                                    "epoch": "1781295549",
                                    "epoch_int": "1781295549",
                                    "hour": "20",
                                    "iso8601": "2026-06-12T20:19:09Z",
                                    "iso8601_basic": "20260612T201909918536",
                                    "iso8601_basic_short": "20260612T201909",
                                    "iso8601_micro": "2026-06-12T20:19:09.918536Z",
                                    "minute": "19",
                                    "month": "06",
                                    "second": "09",
                                    "time": "20:19:09",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Redhat",
                                "ansible_distribution_major_version": "9",
                                "ansible_distribution_release": "Plow",
                                "ansible_distribution_version": "9.7",
                                "ansible_dns": {
                                    "nameservers": [
                                        "10.43.0.10"
                                    ],
                                    "options": {
                                        "ndots": "5"
                                    },
                                    "search": [
                                        "sf.svc.cluster.local",
                                        "svc.cluster.local",
                                        "cluster.local",
                                        "softwarefactory-project.io"
                                    ]
                                },
                                "ansible_domain": "zuul-executor-headless.sf.svc.cluster.local",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 1000,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/ansible/pre_playbook_0/ansible.cfg",
                                    "FLUENT_BIT_PORT": "tcp://10.43.239.48:2020",
                                    "FLUENT_BIT_PORT_2020_TCP": "tcp://10.43.239.48:2020",
                                    "FLUENT_BIT_PORT_2020_TCP_ADDR": "10.43.239.48",
                                    "FLUENT_BIT_PORT_2020_TCP_PORT": "2020",
                                    "FLUENT_BIT_PORT_2020_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_PORT_24224_TCP": "tcp://10.43.239.48:24224",
                                    "FLUENT_BIT_PORT_24224_TCP_ADDR": "10.43.239.48",
                                    "FLUENT_BIT_PORT_24224_TCP_PORT": "24224",
                                    "FLUENT_BIT_PORT_24224_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_PORT_5140_TCP": "tcp://10.43.239.48:5140",
                                    "FLUENT_BIT_PORT_5140_TCP_ADDR": "10.43.239.48",
                                    "FLUENT_BIT_PORT_5140_TCP_PORT": "5140",
                                    "FLUENT_BIT_PORT_5140_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_SERVICE_HOST": "10.43.239.48",
                                    "FLUENT_BIT_SERVICE_PORT": "2020",
                                    "FLUENT_BIT_SERVICE_PORT_FB_FWD_INPUT": "24224",
                                    "FLUENT_BIT_SERVICE_PORT_FB_HTTP_INPUT": "5140",
                                    "FLUENT_BIT_SERVICE_PORT_HTTP": "2020",
                                    "HOME": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work",
                                    "HOSTNAME": "zuul-executor-0",
                                    "K8S_COMPONENT": "zuul",
                                    "K8S_CONTAINER": "zuul-executor",
                                    "K8S_LABELS_APP": "sf",
                                    "K8S_LABELS_RUN": "zuul-executor",
                                    "K8S_NAMESPACE": "sf",
                                    "K8S_NODENAME": "microshift-ze02.softwarefactory-project.io",
                                    "K8S_PODIP": "10.42.0.33",
                                    "K8S_PODNAME": "zuul-executor-0",
                                    "KUBECONFIG": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/kube/config",
                                    "KUBERNETES_PORT": "tcp://10.43.0.1:443",
                                    "KUBERNETES_PORT_443_TCP": "tcp://10.43.0.1:443",
                                    "KUBERNETES_PORT_443_TCP_ADDR": "10.43.0.1",
                                    "KUBERNETES_PORT_443_TCP_PORT": "443",
                                    "KUBERNETES_PORT_443_TCP_PROTO": "tcp",
                                    "KUBERNETES_SERVICE_HOST": "10.43.0.1",
                                    "KUBERNETES_SERVICE_PORT": "443",
                                    "KUBERNETES_SERVICE_PORT_HTTPS": "443",
                                    "LC_CTYPE": "C.UTF-8",
                                    "NSS_SDB_USE_CACHE": "no",
                                    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "REQUESTS_CA_BUNDLE": "/etc/ssl/certs/ca-bundle.crt",
                                    "SHLVL": "1",
                                    "SSH_AGENT_PID": "4049358",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXLHIxCo/agent.4049357",
                                    "TERM": "xterm",
                                    "TMP": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/tmp",
                                    "XDG_CACHE_HOME": "/var/cache/dhall",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824",
                                    "_": "/usr/lib/zuul/ansible/9/bin/python",
                                    "container": "oci"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "zuul-executor-0.zuul-executor-headless.sf.svc.cluster.local",
                                "ansible_hostname": "zuul-executor-0",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.14.0-427.13.1.el9_4.x86_64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Wed Apr 10 10:29:16 EDT 2024",
                                "ansible_loadavg": {
                                    "15m": 1.19,
                                    "1m": 1.57,
                                    "5m": 1.35
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 521,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 5439,
                                        "used": 10297
                                    },
                                    "real": {
                                        "free": 521,
                                        "total": 15736,
                                        "used": 15215
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 15736,
                                "ansible_mounts": [
                                    {
                                        "block_available": 16211185,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 9672970,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 50354105,
                                        "inode_total": 51801024,
                                        "inode_used": 1446919,
                                        "mount": "/etc/hosts",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 66401013760,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 16211185,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 9672970,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 50354105,
                                        "inode_total": 51801024,
                                        "inode_used": 1446919,
                                        "mount": "/etc/pki/ca-trust/extracted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 66401013760,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/ansible",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/kube",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/ansible/pre_playbook_0",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5457894,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2390042,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15328873,
                                        "inode_total": 15728640,
                                        "inode_used": 399767,
                                        "mount": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/.ansible",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 22355533824,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "zuul-executor-0",
                                "ansible_os_family": "Redhat",
                                "ansible_pkg_mgr": "unknown",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "(hd0,gpt3)/vmlinuz-5.14.0-427.13.1.el9_4.x86_64",
                                    "console": [
                                        "tty0",
                                        "ttyS0,115200n8"
                                    ],
                                    "crashkernel": "1G-4G:192M,4G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "root": "UUID=2fb0abc1-9d08-48bc-9719-108d4ed14685"
                                },
                                "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"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 8,
                                "ansible_processor_nproc": 8,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 8,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 13,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        13,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.13",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 1000,
                                "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": [
                                    ""
                                ],
                                "ansible_system_capabilities_enforced": "True",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 35185065,
                                "ansible_user_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work",
                                "ansible_user_gecos": "1000 user",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "1000",
                                "ansible_user_shell": "/sbin/nologin",
                                "ansible_user_uid": 1000,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "guest",
                                "ansible_virtualization_tech_guest": [
                                    "container"
                                ],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "container",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:10.015003Z",
                            "start": "2026-06-12T20:19:09.013422Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000032",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0755",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "02755",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "1000",
                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-000000000006",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:10.561012Z",
                            "start": "2026-06-12T20:19:10.019891Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000008",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "fbd8120281f80c4211afbdf5e8eb4ae1a92b70b1",
                            "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "fbd8120281f80c4211afbdf5e8eb4ae1a92b70b1",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/.ansible/tmp/ansible-tmp-1781295550.5950332-53-271125954405509/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "88d9d82af9f5efa1648b124f8a45b763",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 22929,
                            "src": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/.ansible/tmp/ansible-tmp-1781295550.5950332-53-271125954405509/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-000000000006",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:11.582400Z",
                            "start": "2026-06-12T20:19:10.566359Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000009",
                        "name": "Copy ansible inventory to logs dir"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:11.626947Z",
                            "start": "2026-06-12T20:19:11.593714Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000000d",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "e6b/rdoproject.org/e6b1da1af9a247ea91ac085292eb4c93"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-000000000060",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:11.688728Z",
                            "start": "2026-06-12T20:19:11.646497Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000062",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: rhoso-architecture-validate-multi-namespace-skmo\nPipeline: github-check\nExecutor: 38.129.56.84\nTriggered by: https://github.com/openstack-k8s-operators/architecture/pull/759\nLog URL (when completed): https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/logs/e6b/rdoproject.org/e6b1da1af9a247ea91ac085292eb4c93/\nEvent ID: c917cbe0-669b-11f1-84f6-859b6f0ee7fc\n"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:11.784320Z",
                            "start": "2026-06-12T20:19:11.699564Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000000e",
                        "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: np0000072347\nUsername: zuul\nDistro: CentOS 9\nProvider: vexxhost-nodepool-tripleo\nRegion: RegionOne\nLabel: cloud-centos-9-stream-tripleo\nProduct Name: OpenStack Nova\nInterface IP: 38.102.83.181\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:11.911588Z",
                            "start": "2026-06-12T20:19:11.790644Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000000f",
                        "name": "Print node information"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:19:22.729383Z",
                    "start": "2026-06-12T20:19:11.920554Z"
                },
                "id": "0a580a2a-0021-bf45-a0c2-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "38.102.83.181"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "fe80::f816:3eff:fec6:c402"
                                ],
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "(hd0,msdos1)/boot/vmlinuz-5.14.0-710.el9.x86_64",
                                    "console": "ttyS0,115200n8",
                                    "crashkernel": "1G-2G:192M,2G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "ro": true,
                                    "root": "UUID=bb394e10-2554-4d5f-9e0b-25736d89b964"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-12",
                                    "day": "12",
                                    "epoch": "1781295552",
                                    "epoch_int": "1781295552",
                                    "hour": "16",
                                    "iso8601": "2026-06-12T20:19:12Z",
                                    "iso8601_basic": "20260612T161912237913",
                                    "iso8601_basic_short": "20260612T161912",
                                    "iso8601_micro": "2026-06-12T20:19:12.237913Z",
                                    "minute": "19",
                                    "month": "06",
                                    "second": "12",
                                    "time": "16:19:12",
                                    "tz": "EDT",
                                    "tz_dst": "EDT",
                                    "tz_offset": "-0400",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "38.102.83.181",
                                    "alias": "eth0",
                                    "broadcast": "38.102.83.255",
                                    "gateway": "38.102.83.1",
                                    "interface": "eth0",
                                    "macaddress": "fa:16:3e:c6:c4:02",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.0",
                                    "network": "38.102.83.0",
                                    "prefix": "24",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {},
                                "ansible_distribution": "CentOS",
                                "ansible_distribution_file_parsed": true,
                                "ansible_distribution_file_path": "/etc/centos-release",
                                "ansible_distribution_file_variety": "CentOS",
                                "ansible_distribution_major_version": "9",
                                "ansible_distribution_release": "Stream",
                                "ansible_distribution_version": "9",
                                "ansible_dns": {
                                    "nameservers": [
                                        "199.204.44.24",
                                        "199.204.47.54"
                                    ],
                                    "search": [
                                        "novalocal"
                                    ]
                                },
                                "ansible_domain": "novalocal",
                                "ansible_effective_group_id": 1000,
                                "ansible_effective_user_id": 1000,
                                "ansible_env": {
                                    "BASH_FUNC_which%%": "() {  ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}",
                                    "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
                                    "DEBUGINFOD_IMA_CERT_PATH": "/etc/keys/ima:",
                                    "DEBUGINFOD_URLS": "https://debuginfod.centos.org/ ",
                                    "HOME": "/home/zuul",
                                    "LANG": "en_US.UTF-8",
                                    "LESSOPEN": "||/usr/bin/lesspipe.sh %s",
                                    "LOGNAME": "zuul",
                                    "MOTD_SHOWN": "pam",
                                    "PATH": "/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin",
                                    "PWD": "/home/zuul",
                                    "SELINUX_LEVEL_REQUESTED": "",
                                    "SELINUX_ROLE_REQUESTED": "",
                                    "SELINUX_USE_CURRENT_RANGE": "",
                                    "SHELL": "/bin/bash",
                                    "SHLVL": "1",
                                    "SSH_CLIENT": "38.129.56.84 49422 22",
                                    "SSH_CONNECTION": "38.129.56.84 49422 38.102.83.181 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "1",
                                    "XDG_SESSION_TYPE": "tty",
                                    "_": "/usr/bin/python3",
                                    "which_declare": "declare -f"
                                },
                                "ansible_eth0": {
                                    "active": true,
                                    "device": "eth0",
                                    "features": {
                                        "esp_hw_offload": "off [fixed]",
                                        "esp_tx_csum_hw_offload": "off [fixed]",
                                        "generic_receive_offload": "on",
                                        "generic_segmentation_offload": "on",
                                        "highdma": "on [fixed]",
                                        "hsr_dup_offload": "off [fixed]",
                                        "hsr_fwd_offload": "off [fixed]",
                                        "hsr_tag_ins_offload": "off [fixed]",
                                        "hsr_tag_rm_offload": "off [fixed]",
                                        "hw_tc_offload": "off [fixed]",
                                        "l2_fwd_offload": "off [fixed]",
                                        "large_receive_offload": "off [fixed]",
                                        "loopback": "off [fixed]",
                                        "macsec_hw_offload": "off [fixed]",
                                        "ntuple_filters": "off [fixed]",
                                        "receive_hashing": "off [fixed]",
                                        "rx_all": "off [fixed]",
                                        "rx_checksumming": "on [fixed]",
                                        "rx_fcs": "off [fixed]",
                                        "rx_gro_hw": "on",
                                        "rx_gro_list": "off",
                                        "rx_udp_gro_forwarding": "off",
                                        "rx_udp_tunnel_port_offload": "off [fixed]",
                                        "rx_vlan_filter": "on [fixed]",
                                        "rx_vlan_offload": "off [fixed]",
                                        "rx_vlan_stag_filter": "off [fixed]",
                                        "rx_vlan_stag_hw_parse": "off [fixed]",
                                        "scatter_gather": "on",
                                        "tcp_segmentation_offload": "on",
                                        "tls_hw_record": "off [fixed]",
                                        "tls_hw_rx_offload": "off [fixed]",
                                        "tls_hw_tx_offload": "off [fixed]",
                                        "tx_checksum_fcoe_crc": "off [fixed]",
                                        "tx_checksum_ip_generic": "on",
                                        "tx_checksum_ipv4": "off [fixed]",
                                        "tx_checksum_ipv6": "off [fixed]",
                                        "tx_checksum_sctp": "off [fixed]",
                                        "tx_checksumming": "on",
                                        "tx_esp_segmentation": "off [fixed]",
                                        "tx_fcoe_segmentation": "off [fixed]",
                                        "tx_gre_csum_segmentation": "off [fixed]",
                                        "tx_gre_segmentation": "off [fixed]",
                                        "tx_gso_list": "off [fixed]",
                                        "tx_gso_partial": "off [fixed]",
                                        "tx_gso_robust": "on [fixed]",
                                        "tx_ipxip4_segmentation": "off [fixed]",
                                        "tx_ipxip6_segmentation": "off [fixed]",
                                        "tx_nocache_copy": "off",
                                        "tx_scatter_gather": "on",
                                        "tx_scatter_gather_fraglist": "off [fixed]",
                                        "tx_sctp_segmentation": "off [fixed]",
                                        "tx_tcp6_segmentation": "on",
                                        "tx_tcp_ecn_segmentation": "on",
                                        "tx_tcp_mangleid_segmentation": "off",
                                        "tx_tcp_segmentation": "on",
                                        "tx_tunnel_remcsum_segmentation": "off [fixed]",
                                        "tx_udp_segmentation": "off [fixed]",
                                        "tx_udp_tnl_csum_segmentation": "off [fixed]",
                                        "tx_udp_tnl_segmentation": "off [fixed]",
                                        "tx_vlan_offload": "off [fixed]",
                                        "tx_vlan_stag_hw_insert": "off [fixed]",
                                        "vlan_challenged": "off [fixed]"
                                    },
                                    "hw_timestamp_filters": [],
                                    "ipv4": {
                                        "address": "38.102.83.181",
                                        "broadcast": "38.102.83.255",
                                        "netmask": "255.255.255.0",
                                        "network": "38.102.83.0",
                                        "prefix": "24"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "fe80::f816:3eff:fec6:c402",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:c6:c4:02",
                                    "module": "virtio_net",
                                    "mtu": 1500,
                                    "pciid": "virtio1",
                                    "promisc": false,
                                    "speed": -1,
                                    "timestamping": [],
                                    "type": "ether"
                                },
                                "ansible_fips": false,
                                "ansible_fqdn": "np0000072347.novalocal",
                                "ansible_hostname": "np0000072347",
                                "ansible_interfaces": [
                                    "eth0",
                                    "lo"
                                ],
                                "ansible_kernel": "5.14.0-710.el9.x86_64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Wed May 27 09:04:56 UTC 2026",
                                "ansible_lo": {
                                    "active": true,
                                    "device": "lo",
                                    "features": {
                                        "esp_hw_offload": "off [fixed]",
                                        "esp_tx_csum_hw_offload": "off [fixed]",
                                        "generic_receive_offload": "on",
                                        "generic_segmentation_offload": "on",
                                        "highdma": "on [fixed]",
                                        "hsr_dup_offload": "off [fixed]",
                                        "hsr_fwd_offload": "off [fixed]",
                                        "hsr_tag_ins_offload": "off [fixed]",
                                        "hsr_tag_rm_offload": "off [fixed]",
                                        "hw_tc_offload": "off [fixed]",
                                        "l2_fwd_offload": "off [fixed]",
                                        "large_receive_offload": "off [fixed]",
                                        "loopback": "on [fixed]",
                                        "macsec_hw_offload": "off [fixed]",
                                        "ntuple_filters": "off [fixed]",
                                        "receive_hashing": "off [fixed]",
                                        "rx_all": "off [fixed]",
                                        "rx_checksumming": "on [fixed]",
                                        "rx_fcs": "off [fixed]",
                                        "rx_gro_hw": "off [fixed]",
                                        "rx_gro_list": "off",
                                        "rx_udp_gro_forwarding": "off",
                                        "rx_udp_tunnel_port_offload": "off [fixed]",
                                        "rx_vlan_filter": "off [fixed]",
                                        "rx_vlan_offload": "off [fixed]",
                                        "rx_vlan_stag_filter": "off [fixed]",
                                        "rx_vlan_stag_hw_parse": "off [fixed]",
                                        "scatter_gather": "on",
                                        "tcp_segmentation_offload": "on",
                                        "tls_hw_record": "off [fixed]",
                                        "tls_hw_rx_offload": "off [fixed]",
                                        "tls_hw_tx_offload": "off [fixed]",
                                        "tx_checksum_fcoe_crc": "off [fixed]",
                                        "tx_checksum_ip_generic": "on [fixed]",
                                        "tx_checksum_ipv4": "off [fixed]",
                                        "tx_checksum_ipv6": "off [fixed]",
                                        "tx_checksum_sctp": "on [fixed]",
                                        "tx_checksumming": "on",
                                        "tx_esp_segmentation": "off [fixed]",
                                        "tx_fcoe_segmentation": "off [fixed]",
                                        "tx_gre_csum_segmentation": "off [fixed]",
                                        "tx_gre_segmentation": "off [fixed]",
                                        "tx_gso_list": "on",
                                        "tx_gso_partial": "off [fixed]",
                                        "tx_gso_robust": "off [fixed]",
                                        "tx_ipxip4_segmentation": "off [fixed]",
                                        "tx_ipxip6_segmentation": "off [fixed]",
                                        "tx_nocache_copy": "off [fixed]",
                                        "tx_scatter_gather": "on [fixed]",
                                        "tx_scatter_gather_fraglist": "on [fixed]",
                                        "tx_sctp_segmentation": "on",
                                        "tx_tcp6_segmentation": "on",
                                        "tx_tcp_ecn_segmentation": "on",
                                        "tx_tcp_mangleid_segmentation": "on",
                                        "tx_tcp_segmentation": "on",
                                        "tx_tunnel_remcsum_segmentation": "off [fixed]",
                                        "tx_udp_segmentation": "on",
                                        "tx_udp_tnl_csum_segmentation": "off [fixed]",
                                        "tx_udp_tnl_segmentation": "off [fixed]",
                                        "tx_vlan_offload": "off [fixed]",
                                        "tx_vlan_stag_hw_insert": "off [fixed]",
                                        "vlan_challenged": "on [fixed]"
                                    },
                                    "hw_timestamp_filters": [],
                                    "ipv4": {
                                        "address": "127.0.0.1",
                                        "broadcast": "",
                                        "netmask": "255.0.0.0",
                                        "network": "127.0.0.0",
                                        "prefix": "8"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "::1",
                                            "prefix": "128",
                                            "scope": "host"
                                        }
                                    ],
                                    "mtu": 65536,
                                    "promisc": false,
                                    "timestamping": [],
                                    "type": "loopback"
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "38.102.83.181",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "fe80::f816:3eff:fec6:c402"
                                    ]
                                },
                                "ansible_lsb": {},
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "05fcbb7fa1ab1e5f4fe23a95eef08a31",
                                "ansible_nodename": "np0000072347.novalocal",
                                "ansible_os_family": "RedHat",
                                "ansible_pkg_mgr": "dnf",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "(hd0,msdos1)/boot/vmlinuz-5.14.0-710.el9.x86_64",
                                    "console": "ttyS0,115200n8",
                                    "crashkernel": "1G-2G:192M,2G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "ro": true,
                                    "root": "UUID=bb394e10-2554-4d5f-9e0b-25736d89b964"
                                },
                                "ansible_python": {
                                    "executable": "/usr/bin/python3",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 25,
                                        "minor": 9,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        9,
                                        25,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.9.25",
                                "ansible_real_group_id": 1000,
                                "ansible_real_user_id": 1000,
                                "ansible_selinux": {
                                    "config_mode": "enforcing",
                                    "mode": "enforcing",
                                    "policyvers": 33,
                                    "status": "enabled",
                                    "type": "targeted"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "systemd",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJLG/KnKnr5f0mOSc011r/UW0c+8IuOknICUn6KDl82Vi+edB2w+QTIqK64IldnvTpxUW5ZmxMbJy7pA1/gIOwk=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIMEchP566RA9FeGdT3R4EtOeaG50r82xCftmVBJyGuOD",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDYTRmTiLm3jxTP5OTPog4bFdaRCIjRWleBQoNjWM/jW0LH5ZBg00pJ31m/aF6RkRn4v9gRopQoJ0NGUVqu7F+4JTks1BHflhWlSWBWYJU581rUFhz+uXc5qJCVZUFTfucAe9WABqjkjcAcNa/SMr98GStTQ8bCpoASCPxvDyMGbxKnRBEksS9EzBfj4vD/s6TH4/Qfgf67k6nzvEfLnfcvLOFgqqj6xBjglQ8w3NjnJ+FjUIseyj0I5s7ay/ZiFWTdZe2m2oP61d7G8kSveJ52sI/v5GLx1xuSD/MzJXN3Ln2MEmBMi9y497+S8Y2Q9/PmVdZ3zDdqDtk5oiDsjSTDjWuoXrC1knvuME1hp5AEdsyXOCpjNws2kQZgD46Y+sSl3yJk5S21h6Bykea+u4cUWbSSHNHRz4iX5vm8v7ygo8WYMExONaDDKGsFCTbhYqsZPF7ffuyq9LNaMcRRWdMZ5PN4z6gmOxagvqKm8RXtDEHLHuupYJ4MR4CvmiEeP0s=",
                                "ansible_ssh_host_key_rsa_public_keytype": "ssh-rsa",
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": [
                                    ""
                                ],
                                "ansible_system_capabilities_enforced": "True",
                                "ansible_user_dir": "/home/zuul",
                                "ansible_user_gecos": "",
                                "ansible_user_gid": 1000,
                                "ansible_user_id": "zuul",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 1000,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "gather_subset": [
                                    "network"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "fact_path": "/etc/ansible/facts.d",
                                    "filter": [],
                                    "gather_subset": [
                                        "network"
                                    ],
                                    "gather_timeout": 10
                                }
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:12.376341Z",
                            "start": "2026-06-12T20:19:11.931524Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000013",
                        "name": "Gather network facts"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "start-zuul-console"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:12.417679Z",
                            "start": "2026-06-12T20:19:12.382135Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000015",
                        "name": ""
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-000000000095",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:12.915113Z",
                            "start": "2026-06-12T20:19:12.434890Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000097",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "add-build-sshkey"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:12.967470Z",
                            "start": "2026-06-12T20:19:12.928448Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000017",
                        "name": ""
                    }
                },
                {
                    "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/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:13.352447Z",
                            "start": "2026-06-12T20:19:13.001649Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000b1",
                        "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": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:13.399701Z",
                            "start": "2026-06-12T20:19:13.361451Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000b2",
                        "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/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.323259",
                            "end": "2026-06-12 20:19:14.275226",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_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": "0a580a2a-0021-bf45-a0c2-0000000000c7-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:19:13.951967",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa.pub\nThe key fingerprint is:\nSHA256:pNsP1d3KVuArbtIxV2TJgXwspZRkUhbktl8i2+JgAK0 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|           .=OBoo|\n|       .    *=.=o|\n|      . o    ++o |\n|       =   ..o.o.|\n|      E S . o.+.+|\n|       o o  o=o=.|\n|      . o o.++*. |\n|         +.+o+   |\n|          .oo    |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:pNsP1d3KVuArbtIxV2TJgXwspZRkUhbktl8i2+JgAK0 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|           .=OBoo|",
                                "|       .    *=.=o|",
                                "|      . o    ++o |",
                                "|       =   ..o.o.|",
                                "|      E S . o.+.+|",
                                "|       o o  o=o=.|",
                                "|      . o o.++*. |",
                                "|         +.+o+   |",
                                "|          .oo    |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0a580a2a-0021-bf45-a0c2-0000000000c7-0-controller"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:14.325548Z",
                            "start": "2026-06-12T20:19:13.436325Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000c7",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:14.358409Z",
                            "start": "2026-06-12T20:19:14.328724Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000c8",
                        "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": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:14.413286Z",
                            "start": "2026-06-12T20:19:14.378048Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000ed",
                        "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCmE7bKK3lacuXsSIUp8rOT6JdqV2ijJyvg81ITRMvKB42ilBDToxaYpNqA2naGqQDEyWUsVWsN0geDFtJtJMjeSFP2VgdtSBjo68787nat0dGlStlRxLDLt7S0QNe+eTpL+RtccusptyZmZVC1Yc/lmUf3PNHZ4roYp+skEixaCf3zsGFsc17VMEOymqu4Xy7KWZEDUOB0GODMY2cxEr550uzxtPXFGuw8QN0LRD336mkjPyOs3IL81RQnmOUacLnjNeOszLezLuzckR6MjpKrvGbBd9ijaqqiCGdaviI/BxMjy5wVSFtyocQjII5PiLMbP4VNlyiCsgg0BjvXthaJP5xeAOM9z0ix9ZbBMS2r9zkYm5HmnksrIIOCl/1Zff9D9nAGUYU4w8jShDm/lrqr0l5VNjoDLLWmcQqFSBXWZGckIxYb87fT7knbY+InpNef+e+BhEcr4f13J3VB895cGMsluSYwO5eNgXpwnAs13qt7O0kLQsyRnAYk14pLFGU= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCmE7bKK3lacuXsSIUp8rOT6JdqV2ijJyvg81ITRMvKB42ilBDToxaYpNqA2naGqQDEyWUsVWsN0geDFtJtJMjeSFP2VgdtSBjo68787nat0dGlStlRxLDLt7S0QNe+eTpL+RtccusptyZmZVC1Yc/lmUf3PNHZ4roYp+skEixaCf3zsGFsc17VMEOymqu4Xy7KWZEDUOB0GODMY2cxEr550uzxtPXFGuw8QN0LRD336mkjPyOs3IL81RQnmOUacLnjNeOszLezLuzckR6MjpKrvGbBd9ijaqqiCGdaviI/BxMjy5wVSFtyocQjII5PiLMbP4VNlyiCsgg0BjvXthaJP5xeAOM9z0ix9ZbBMS2r9zkYm5HmnksrIIOCl/1Zff9D9nAGUYU4w8jShDm/lrqr0l5VNjoDLLWmcQqFSBXWZGckIxYb87fT7knbY+InpNef+e+BhEcr4f13J3VB895cGMsluSYwO5eNgXpwnAs13qt7O0kLQsyRnAYk14pLFGU= 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": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:14.879998Z",
                            "start": "2026-06-12T20:19:14.418552Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000ee",
                        "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",
                            "secontext": "unconfined_u:object_r:ssh_home_t:s0",
                            "size": 29,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:15.150710Z",
                            "start": "2026-06-12T20:19:14.889596Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000ef",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "725afae08395a8f39a8adde5f16a95a4a891397b",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "e6b1da1af9a247ea91ac085292eb4c93_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "725afae08395a8f39a8adde5f16a95a4a891397b",
                                    "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-1781295555.261232-128-241641416377369/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "23030edd8507cbe4cdcb03893f434ff9",
                            "mode": "0600",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:ssh_home_t:s0",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295555.261232-128-241641416377369/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:16.044029Z",
                            "start": "2026-06-12T20:19:15.157310Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000f0",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "7bec8f535a91ad8b481e345c62d46c0ee75a6640",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "e6b1da1af9a247ea91ac085292eb4c93_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "7bec8f535a91ad8b481e345c62d46c0ee75a6640",
                                    "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-1781295556.1586332-138-185503193038398/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "020b7b41f9711bb0f58730dc6e416383",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:ssh_home_t:s0",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295556.1586332-138-185503193038398/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:16.952543Z",
                            "start": "2026-06-12T20:19:16.055076Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000f1",
                        "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": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:16.997278Z",
                            "start": "2026-06-12T20:19:16.960075Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000c9",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/var/lib/zuul-ssh/..data/priv"
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000ce",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_0/review.rdoproject.org/config/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:17.516457Z",
                            "start": "2026-06-12T20:19:17.004135Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000d0",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa"
                            ],
                            "delta": "0:00:00.021157",
                            "end": "2026-06-12 20:19:17.793112",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_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": "0a580a2a-0021-bf45-a0c2-0000000000d6-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:19:17.771955",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/e6b1da1af9a247ea91ac085292eb4c93_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0a580a2a-0021-bf45-a0c2-0000000000d6-0-controller"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:17.838062Z",
                            "start": "2026-06-12T20:19:17.524331Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000d6",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:18.258456Z",
                            "start": "2026-06-12T20:19:17.841460Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000d7",
                        "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": "0a580a2a-0021-bf45-a0c2-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:18.303510Z",
                            "start": "2026-06-12T20:19:18.265256Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-0000000000d8",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "validate-host"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:18.354844Z",
                            "start": "2026-06-12T20:19:18.317839Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000018",
                        "name": ""
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:18.429190Z",
                            "start": "2026-06-12T20:19:18.388098Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016d",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info"
                                }
                            },
                            "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/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "1000",
                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info",
                            "size": 28,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:18.704207Z",
                            "start": "2026-06-12T20:19:18.433605Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016e",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "38.102.83.181"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "fe80::f816:3eff:fec6:c402"
                                ],
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "04/01/2014",
                                "ansible_bios_vendor": "SeaBIOS",
                                "ansible_bios_version": "1.15.0-1",
                                "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": "QEMU",
                                "ansible_chassis_version": "pc-i440fx-6.2",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "(hd0,msdos1)/boot/vmlinuz-5.14.0-710.el9.x86_64",
                                    "console": "ttyS0,115200n8",
                                    "crashkernel": "1G-2G:192M,2G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "ro": true,
                                    "root": "UUID=bb394e10-2554-4d5f-9e0b-25736d89b964"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-12",
                                    "day": "12",
                                    "epoch": "1781295559",
                                    "epoch_int": "1781295559",
                                    "hour": "16",
                                    "iso8601": "2026-06-12T20:19:19Z",
                                    "iso8601_basic": "20260612T161919070965",
                                    "iso8601_basic_short": "20260612T161919",
                                    "iso8601_micro": "2026-06-12T20:19:19.070965Z",
                                    "minute": "19",
                                    "month": "06",
                                    "second": "19",
                                    "time": "16:19:19",
                                    "tz": "EDT",
                                    "tz_dst": "EDT",
                                    "tz_offset": "-0400",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "38.102.83.181",
                                    "alias": "eth0",
                                    "broadcast": "38.102.83.255",
                                    "gateway": "38.102.83.1",
                                    "interface": "eth0",
                                    "macaddress": "fa:16:3e:c6:c4:02",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.0",
                                    "network": "38.102.83.0",
                                    "prefix": "24",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {},
                                "ansible_device_links": {
                                    "ids": {
                                        "sr0": [
                                            "ata-QEMU_DVD-ROM_QM00001"
                                        ]
                                    },
                                    "labels": {
                                        "sr0": [
                                            "config-2"
                                        ]
                                    },
                                    "masters": {},
                                    "uuids": {
                                        "sr0": [
                                            "2026-06-12-20-18-27-00"
                                        ],
                                        "vda1": [
                                            "bb394e10-2554-4d5f-9e0b-25736d89b964"
                                        ]
                                    }
                                },
                                "ansible_devices": {
                                    "sr0": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [
                                                "ata-QEMU_DVD-ROM_QM00001"
                                            ],
                                            "labels": [
                                                "config-2"
                                            ],
                                            "masters": [],
                                            "uuids": [
                                                "2026-06-12-20-18-27-00"
                                            ]
                                        },
                                        "model": "QEMU DVD-ROM",
                                        "partitions": {},
                                        "removable": "1",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "mq-deadline",
                                        "sectors": "964",
                                        "sectorsize": "2048",
                                        "size": "482.00 KB",
                                        "support_discard": "0",
                                        "vendor": "QEMU",
                                        "virtual": 1
                                    },
                                    "vda": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {
                                            "vda1": {
                                                "holders": [],
                                                "links": {
                                                    "ids": [],
                                                    "labels": [],
                                                    "masters": [],
                                                    "uuids": [
                                                        "bb394e10-2554-4d5f-9e0b-25736d89b964"
                                                    ]
                                                },
                                                "sectors": "167770079",
                                                "sectorsize": 512,
                                                "size": "80.00 GB",
                                                "start": "2048",
                                                "uuid": "bb394e10-2554-4d5f-9e0b-25736d89b964"
                                            }
                                        },
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "167772160",
                                        "sectorsize": "512",
                                        "size": "80.00 GB",
                                        "support_discard": "512",
                                        "vendor": "0x1af4",
                                        "virtual": 1
                                    }
                                },
                                "ansible_distribution": "CentOS",
                                "ansible_distribution_file_parsed": true,
                                "ansible_distribution_file_path": "/etc/centos-release",
                                "ansible_distribution_file_variety": "CentOS",
                                "ansible_distribution_major_version": "9",
                                "ansible_distribution_release": "Stream",
                                "ansible_distribution_version": "9",
                                "ansible_dns": {
                                    "nameservers": [
                                        "199.204.44.24",
                                        "199.204.47.54"
                                    ],
                                    "search": [
                                        "novalocal"
                                    ]
                                },
                                "ansible_domain": "novalocal",
                                "ansible_effective_group_id": 1000,
                                "ansible_effective_user_id": 1000,
                                "ansible_env": {
                                    "BASH_FUNC_which%%": "() {  ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}",
                                    "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
                                    "DEBUGINFOD_IMA_CERT_PATH": "/etc/keys/ima:",
                                    "DEBUGINFOD_URLS": "https://debuginfod.centos.org/ ",
                                    "HOME": "/home/zuul",
                                    "LANG": "en_US.UTF-8",
                                    "LESSOPEN": "||/usr/bin/lesspipe.sh %s",
                                    "LOGNAME": "zuul",
                                    "MOTD_SHOWN": "pam",
                                    "PATH": "/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin",
                                    "PWD": "/home/zuul",
                                    "SELINUX_LEVEL_REQUESTED": "",
                                    "SELINUX_ROLE_REQUESTED": "",
                                    "SELINUX_USE_CURRENT_RANGE": "",
                                    "SHELL": "/bin/bash",
                                    "SHLVL": "1",
                                    "SSH_CLIENT": "38.129.56.84 49422 22",
                                    "SSH_CONNECTION": "38.129.56.84 49422 38.102.83.181 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "1",
                                    "XDG_SESSION_TYPE": "tty",
                                    "_": "/usr/bin/python3",
                                    "which_declare": "declare -f"
                                },
                                "ansible_eth0": {
                                    "active": true,
                                    "device": "eth0",
                                    "features": {
                                        "esp_hw_offload": "off [fixed]",
                                        "esp_tx_csum_hw_offload": "off [fixed]",
                                        "generic_receive_offload": "on",
                                        "generic_segmentation_offload": "on",
                                        "highdma": "on [fixed]",
                                        "hsr_dup_offload": "off [fixed]",
                                        "hsr_fwd_offload": "off [fixed]",
                                        "hsr_tag_ins_offload": "off [fixed]",
                                        "hsr_tag_rm_offload": "off [fixed]",
                                        "hw_tc_offload": "off [fixed]",
                                        "l2_fwd_offload": "off [fixed]",
                                        "large_receive_offload": "off [fixed]",
                                        "loopback": "off [fixed]",
                                        "macsec_hw_offload": "off [fixed]",
                                        "ntuple_filters": "off [fixed]",
                                        "receive_hashing": "off [fixed]",
                                        "rx_all": "off [fixed]",
                                        "rx_checksumming": "on [fixed]",
                                        "rx_fcs": "off [fixed]",
                                        "rx_gro_hw": "on",
                                        "rx_gro_list": "off",
                                        "rx_udp_gro_forwarding": "off",
                                        "rx_udp_tunnel_port_offload": "off [fixed]",
                                        "rx_vlan_filter": "on [fixed]",
                                        "rx_vlan_offload": "off [fixed]",
                                        "rx_vlan_stag_filter": "off [fixed]",
                                        "rx_vlan_stag_hw_parse": "off [fixed]",
                                        "scatter_gather": "on",
                                        "tcp_segmentation_offload": "on",
                                        "tls_hw_record": "off [fixed]",
                                        "tls_hw_rx_offload": "off [fixed]",
                                        "tls_hw_tx_offload": "off [fixed]",
                                        "tx_checksum_fcoe_crc": "off [fixed]",
                                        "tx_checksum_ip_generic": "on",
                                        "tx_checksum_ipv4": "off [fixed]",
                                        "tx_checksum_ipv6": "off [fixed]",
                                        "tx_checksum_sctp": "off [fixed]",
                                        "tx_checksumming": "on",
                                        "tx_esp_segmentation": "off [fixed]",
                                        "tx_fcoe_segmentation": "off [fixed]",
                                        "tx_gre_csum_segmentation": "off [fixed]",
                                        "tx_gre_segmentation": "off [fixed]",
                                        "tx_gso_list": "off [fixed]",
                                        "tx_gso_partial": "off [fixed]",
                                        "tx_gso_robust": "on [fixed]",
                                        "tx_ipxip4_segmentation": "off [fixed]",
                                        "tx_ipxip6_segmentation": "off [fixed]",
                                        "tx_nocache_copy": "off",
                                        "tx_scatter_gather": "on",
                                        "tx_scatter_gather_fraglist": "off [fixed]",
                                        "tx_sctp_segmentation": "off [fixed]",
                                        "tx_tcp6_segmentation": "on",
                                        "tx_tcp_ecn_segmentation": "on",
                                        "tx_tcp_mangleid_segmentation": "off",
                                        "tx_tcp_segmentation": "on",
                                        "tx_tunnel_remcsum_segmentation": "off [fixed]",
                                        "tx_udp_segmentation": "off [fixed]",
                                        "tx_udp_tnl_csum_segmentation": "off [fixed]",
                                        "tx_udp_tnl_segmentation": "off [fixed]",
                                        "tx_vlan_offload": "off [fixed]",
                                        "tx_vlan_stag_hw_insert": "off [fixed]",
                                        "vlan_challenged": "off [fixed]"
                                    },
                                    "hw_timestamp_filters": [],
                                    "ipv4": {
                                        "address": "38.102.83.181",
                                        "broadcast": "38.102.83.255",
                                        "netmask": "255.255.255.0",
                                        "network": "38.102.83.0",
                                        "prefix": "24"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "fe80::f816:3eff:fec6:c402",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:c6:c4:02",
                                    "module": "virtio_net",
                                    "mtu": 1500,
                                    "pciid": "virtio1",
                                    "promisc": false,
                                    "speed": -1,
                                    "timestamping": [],
                                    "type": "ether"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "Other",
                                "ansible_fqdn": "np0000072347.novalocal",
                                "ansible_hostname": "np0000072347",
                                "ansible_hostnqn": "nqn.2014-08.org.nvmexpress:uuid:c5d6e9d1-b9fa-4238-a9a3-8ca758f93fe7",
                                "ansible_interfaces": [
                                    "eth0",
                                    "lo"
                                ],
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.14.0-710.el9.x86_64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Wed May 27 09:04:56 UTC 2026",
                                "ansible_lo": {
                                    "active": true,
                                    "device": "lo",
                                    "features": {
                                        "esp_hw_offload": "off [fixed]",
                                        "esp_tx_csum_hw_offload": "off [fixed]",
                                        "generic_receive_offload": "on",
                                        "generic_segmentation_offload": "on",
                                        "highdma": "on [fixed]",
                                        "hsr_dup_offload": "off [fixed]",
                                        "hsr_fwd_offload": "off [fixed]",
                                        "hsr_tag_ins_offload": "off [fixed]",
                                        "hsr_tag_rm_offload": "off [fixed]",
                                        "hw_tc_offload": "off [fixed]",
                                        "l2_fwd_offload": "off [fixed]",
                                        "large_receive_offload": "off [fixed]",
                                        "loopback": "on [fixed]",
                                        "macsec_hw_offload": "off [fixed]",
                                        "ntuple_filters": "off [fixed]",
                                        "receive_hashing": "off [fixed]",
                                        "rx_all": "off [fixed]",
                                        "rx_checksumming": "on [fixed]",
                                        "rx_fcs": "off [fixed]",
                                        "rx_gro_hw": "off [fixed]",
                                        "rx_gro_list": "off",
                                        "rx_udp_gro_forwarding": "off",
                                        "rx_udp_tunnel_port_offload": "off [fixed]",
                                        "rx_vlan_filter": "off [fixed]",
                                        "rx_vlan_offload": "off [fixed]",
                                        "rx_vlan_stag_filter": "off [fixed]",
                                        "rx_vlan_stag_hw_parse": "off [fixed]",
                                        "scatter_gather": "on",
                                        "tcp_segmentation_offload": "on",
                                        "tls_hw_record": "off [fixed]",
                                        "tls_hw_rx_offload": "off [fixed]",
                                        "tls_hw_tx_offload": "off [fixed]",
                                        "tx_checksum_fcoe_crc": "off [fixed]",
                                        "tx_checksum_ip_generic": "on [fixed]",
                                        "tx_checksum_ipv4": "off [fixed]",
                                        "tx_checksum_ipv6": "off [fixed]",
                                        "tx_checksum_sctp": "on [fixed]",
                                        "tx_checksumming": "on",
                                        "tx_esp_segmentation": "off [fixed]",
                                        "tx_fcoe_segmentation": "off [fixed]",
                                        "tx_gre_csum_segmentation": "off [fixed]",
                                        "tx_gre_segmentation": "off [fixed]",
                                        "tx_gso_list": "on",
                                        "tx_gso_partial": "off [fixed]",
                                        "tx_gso_robust": "off [fixed]",
                                        "tx_ipxip4_segmentation": "off [fixed]",
                                        "tx_ipxip6_segmentation": "off [fixed]",
                                        "tx_nocache_copy": "off [fixed]",
                                        "tx_scatter_gather": "on [fixed]",
                                        "tx_scatter_gather_fraglist": "on [fixed]",
                                        "tx_sctp_segmentation": "on",
                                        "tx_tcp6_segmentation": "on",
                                        "tx_tcp_ecn_segmentation": "on",
                                        "tx_tcp_mangleid_segmentation": "on",
                                        "tx_tcp_segmentation": "on",
                                        "tx_tunnel_remcsum_segmentation": "off [fixed]",
                                        "tx_udp_segmentation": "on",
                                        "tx_udp_tnl_csum_segmentation": "off [fixed]",
                                        "tx_udp_tnl_segmentation": "off [fixed]",
                                        "tx_vlan_offload": "off [fixed]",
                                        "tx_vlan_stag_hw_insert": "off [fixed]",
                                        "vlan_challenged": "on [fixed]"
                                    },
                                    "hw_timestamp_filters": [],
                                    "ipv4": {
                                        "address": "127.0.0.1",
                                        "broadcast": "",
                                        "netmask": "255.0.0.0",
                                        "network": "127.0.0.0",
                                        "prefix": "8"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "::1",
                                            "prefix": "128",
                                            "scope": "host"
                                        }
                                    ],
                                    "mtu": 65536,
                                    "promisc": false,
                                    "timestamping": [],
                                    "type": "loopback"
                                },
                                "ansible_loadavg": {
                                    "15m": 0.07,
                                    "1m": 0.74,
                                    "5m": 0.2
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "38.102.83.181",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "fe80::f816:3eff:fec6:c402"
                                    ]
                                },
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "05fcbb7fa1ab1e5f4fe23a95eef08a31",
                                "ansible_memfree_mb": 7098,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 7310,
                                        "used": 369
                                    },
                                    "real": {
                                        "free": 7098,
                                        "total": 7679,
                                        "used": 581
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 7679,
                                "ansible_mounts": [
                                    {
                                        "block_available": 20296575,
                                        "block_size": 4096,
                                        "block_total": 20954875,
                                        "block_used": 658300,
                                        "device": "/dev/vda1",
                                        "fstype": "xfs",
                                        "inode_available": 41888218,
                                        "inode_total": 41942512,
                                        "inode_used": 54294,
                                        "mount": "/",
                                        "options": "rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota",
                                        "size_available": 83134771200,
                                        "size_total": 85831168000,
                                        "uuid": "bb394e10-2554-4d5f-9e0b-25736d89b964"
                                    }
                                ],
                                "ansible_nodename": "np0000072347.novalocal",
                                "ansible_os_family": "RedHat",
                                "ansible_pkg_mgr": "dnf",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "(hd0,msdos1)/boot/vmlinuz-5.14.0-710.el9.x86_64",
                                    "console": "ttyS0,115200n8",
                                    "crashkernel": "1G-2G:192M,2G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "ro": true,
                                    "root": "UUID=bb394e10-2554-4d5f-9e0b-25736d89b964"
                                },
                                "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"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 8,
                                "ansible_processor_nproc": 8,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 8,
                                "ansible_product_name": "OpenStack Nova",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "26.3.1",
                                "ansible_python": {
                                    "executable": "/usr/bin/python3",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 25,
                                        "minor": 9,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        9,
                                        25,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.9.25",
                                "ansible_real_group_id": 1000,
                                "ansible_real_user_id": 1000,
                                "ansible_selinux": {
                                    "config_mode": "enforcing",
                                    "mode": "enforcing",
                                    "policyvers": 33,
                                    "status": "enabled",
                                    "type": "targeted"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "systemd",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJLG/KnKnr5f0mOSc011r/UW0c+8IuOknICUn6KDl82Vi+edB2w+QTIqK64IldnvTpxUW5ZmxMbJy7pA1/gIOwk=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIMEchP566RA9FeGdT3R4EtOeaG50r82xCftmVBJyGuOD",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDYTRmTiLm3jxTP5OTPog4bFdaRCIjRWleBQoNjWM/jW0LH5ZBg00pJ31m/aF6RkRn4v9gRopQoJ0NGUVqu7F+4JTks1BHflhWlSWBWYJU581rUFhz+uXc5qJCVZUFTfucAe9WABqjkjcAcNa/SMr98GStTQ8bCpoASCPxvDyMGbxKnRBEksS9EzBfj4vD/s6TH4/Qfgf67k6nzvEfLnfcvLOFgqqj6xBjglQ8w3NjnJ+FjUIseyj0I5s7ay/ZiFWTdZe2m2oP61d7G8kSveJ52sI/v5GLx1xuSD/MzJXN3Ln2MEmBMi9y497+S8Y2Q9/PmVdZ3zDdqDtk5oiDsjSTDjWuoXrC1knvuME1hp5AEdsyXOCpjNws2kQZgD46Y+sSl3yJk5S21h6Bykea+u4cUWbSSHNHRz4iX5vm8v7ygo8WYMExONaDDKGsFCTbhYqsZPF7ffuyq9LNaMcRRWdMZ5PN4z6gmOxagvqKm8RXtDEHLHuupYJ4MR4CvmiEeP0s=",
                                "ansible_ssh_host_key_rsa_public_keytype": "ssh-rsa",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": [
                                    ""
                                ],
                                "ansible_system_capabilities_enforced": "True",
                                "ansible_system_vendor": "OpenStack Foundation",
                                "ansible_uptime_seconds": 42,
                                "ansible_user_dir": "/home/zuul",
                                "ansible_user_gecos": "",
                                "ansible_user_gid": 1000,
                                "ansible_user_id": "zuul",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 1000,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "guest",
                                "ansible_virtualization_tech_guest": [
                                    "openstack"
                                ],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "openstack",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "fact_path": "/etc/ansible/facts.d",
                                    "filter": [],
                                    "gather_subset": [
                                        "all"
                                    ],
                                    "gather_timeout": 10
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:19.459991Z",
                            "start": "2026-06-12T20:19:18.710107Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016f",
                        "name": "Collect information about the host"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "validate_host_hostname_sanitized": "controller"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:19.549391Z",
                            "start": "2026-06-12T20:19:19.465917Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000170",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "template",
                            "changed": true,
                            "checksum": "2bca480030cbb8f43b8c7dbe3ad9e4a035a89ffb",
                            "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/host-info.controller.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "host-info.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "2bca480030cbb8f43b8c7dbe3ad9e4a035a89ffb",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/host-info.controller.yaml",
                                    "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/e6b1da1af9a247ea91ac085292eb4c93/work/.ansible/tmp/ansible-tmp-1781295559.595801-204-118362726845824/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "f24f97867958834fe4032f5c706963ef",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 14850,
                            "src": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/.ansible/tmp/ansible-tmp-1781295559.595801-204-118362726845824/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:20.123107Z",
                            "start": "2026-06-12T20:19:19.556809Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000171",
                        "name": "Write out all ansible variables/facts known for each host"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "_zuul_nolog_return": true,
                            "action": "zuul_debug_info",
                            "changed": false,
                            "df_i": "Filesystem       Inodes IUsed    IFree IUse% Mounted on\ndevtmpfs         953325   398   952927    1% /dev\ntmpfs            983032     2   983030    1% /dev/shm\ntmpfs            819200   594   818606    1% /run\n/dev/vda1      41942512 54294 41888218    1% /\ntmpfs            196606    16   196590    1% /run/user/1000\n",
                            "df_m": "Filesystem     1M-blocks  Used Available Use% Mounted on\ndevtmpfs            3724     0      3724   0% /dev\ntmpfs               3840     0      3840   0% /dev/shm\ntmpfs               1536    17      1520   2% /run\n/dev/vda1          81855  2572     79284   4% /\ntmpfs                768     0       768   0% /run/user/1000\n",
                            "image_manifest_files": [],
                            "invocation": {
                                "module_args": {
                                    "image_manifest": null,
                                    "image_manifest_files": [
                                        "/etc/dib-builddate.txt",
                                        "/etc/image-hostname.txt"
                                    ],
                                    "ipv4_route_required": false,
                                    "ipv6_route_required": false,
                                    "traceroute_host": null
                                }
                            },
                            "network_interfaces": "1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n    inet6 ::1/128 scope host \n       valid_lft forever preferred_lft forever\n2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether fa:16:3e:c6:c4:02 brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    altname ens3\n    inet 38.102.83.181/24 brd 38.102.83.255 scope global dynamic noprefixroute eth0\n       valid_lft 43164sec preferred_lft 43164sec\n    inet6 fe80::f816:3eff:fec6:c402/64 scope link proto kernel_ll \n       valid_lft forever preferred_lft forever\n",
                            "network_neighbors": "38.102.83.1 dev eth0 lladdr 00:1c:73:00:20:00 REACHABLE \n",
                            "network_routing_v4": "default via 38.102.83.1 dev eth0 proto dhcp src 38.102.83.181 metric 100 \n38.102.83.0/24 dev eth0 proto kernel scope link src 38.102.83.181 metric 100 \n169.254.169.254 via 38.102.83.126 dev eth0 proto dhcp src 38.102.83.181 metric 100 \n",
                            "network_routing_v6": "::1 dev lo proto kernel metric 256 pref medium\nfe80::/64 dev eth0 proto kernel metric 256 pref medium\n",
                            "proc_cpuinfo": "processor\t: 0\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 0\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 0\ninitial apicid\t: 0\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 1\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 1\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 1\ninitial apicid\t: 1\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 2\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 2\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 2\ninitial apicid\t: 2\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 3\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 3\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 3\ninitial apicid\t: 3\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 4\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 4\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 4\ninitial apicid\t: 4\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 5\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 5\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 5\ninitial apicid\t: 5\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 6\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 6\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 6\ninitial apicid\t: 6\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\nprocessor\t: 7\nvendor_id\t: AuthenticAMD\ncpu family\t: 23\nmodel\t\t: 49\nmodel name\t: AMD EPYC-Rome Processor\nstepping\t: 0\nmicrocode\t: 0x1000065\ncpu MHz\t\t: 2799.998\ncache size\t: 512 KB\nphysical id\t: 7\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 7\ninitial apicid\t: 7\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities\nbugs\t\t: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso ibpb_no_ret spectre_v2_user\nbogomips\t: 5599.99\nTLB size\t: 1024 4K pages\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\n",
                            "traceroute": null,
                            "uname": "Linux np0000072347.novalocal 5.14.0-710.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed May 27 09:04:56 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux\n"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:20.567027Z",
                            "start": "2026-06-12T20:19:20.129000Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000173",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "template",
                            "changed": true,
                            "checksum": "f9b1d4341861ae918aaad3d8a4620f20050828e4",
                            "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/zuul-info.controller.txt",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "zuul-info.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "f9b1d4341861ae918aaad3d8a4620f20050828e4",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/zuul-info.controller.txt",
                                    "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/e6b1da1af9a247ea91ac085292eb4c93/work/.ansible/tmp/ansible-tmp-1781295560.6350434-227-222975010869622/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "9d6687d7b6958f0a20e55f51490da74f",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 2248,
                            "src": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/.ansible/tmp/ansible-tmp-1781295560.6350434-227-222975010869622/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:21.138095Z",
                            "start": "2026-06-12T20:19:20.573807Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000174",
                        "name": "Write out all zuul information for each host"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "false_condition": "ansible_connection == 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:21.170056Z",
                            "start": "2026-06-12T20:19:21.145402Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000001a",
                        "name": ""
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "false_condition": "ansible_connection == 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:21.198330Z",
                            "start": "2026-06-12T20:19:21.173768Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-00000000001b",
                        "name": ""
                    }
                },
                {
                    "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": "0a580a2a-0021-bf45-a0c2-000000000021",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:21.943429Z",
                            "start": "2026-06-12T20:19:21.202567Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000023",
                        "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": {
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "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",
                                    "secontext": "unconfined_u:object_r:user_home_t:s0",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "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",
                                    "secontext": "unconfined_u:object_r:user_home_t:s0",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "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",
                                    "secontext": "unconfined_u:object_r:user_home_t:s0",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-bf45-a0c2-000000000021",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:22.729383Z",
                            "start": "2026-06-12T20:19:21.949121Z"
                        },
                        "id": "0a580a2a-0021-bf45-a0c2-000000000025",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 9,
            "failures": 0,
            "ignored": 0,
            "ok": 22,
            "rescued": 0,
            "skipped": 5,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "master",
    "index": "1",
    "phase": "pre",
    "playbook": "review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:19:39.903155Z",
                    "start": "2026-06-12T20:19:23.563717Z"
                },
                "id": "0a580a2a-0021-ec43-70ee-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "mirror_fqdn": "mirror.regionone.vexxhost-nodepool-tripleo.rdoproject.org"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ec43-70ee-000000000006",
                        "name": "mirror-info-fork",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_2/review.rdoproject.org/rdo-jobs/roles/mirror-info-fork"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:23.645221Z",
                            "start": "2026-06-12T20:19:23.573777Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000008",
                        "name": "Set mirror_fqdn if not defined"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/etc/ci",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/etc/ci",
                                    "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": "root",
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": "root",
                                    "path": "/etc/ci",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/etc/ci",
                            "secontext": "unconfined_u:object_r:etc_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ec43-70ee-000000000006",
                        "name": "mirror-info-fork",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_2/review.rdoproject.org/rdo-jobs/roles/mirror-info-fork"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:24.190724Z",
                            "start": "2026-06-12T20:19:23.649745Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000009",
                        "name": "Create /etc/ci"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "template",
                            "changed": true,
                            "checksum": "92d92a03afdddee82732741071f662c729080c35",
                            "dest": "/etc/ci/mirror_info.sh",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "mirror_info.sh.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "92d92a03afdddee82732741071f662c729080c35",
                                    "content": null,
                                    "dest": "/etc/ci/mirror_info.sh",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": "root",
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": "root",
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295564.2704704-8-197321406485304/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "9fb09f017f7a6e25986e4e572d40f2ad",
                            "mode": "0644",
                            "owner": "root",
                            "secontext": "system_u:object_r:etc_t:s0",
                            "size": 4482,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295564.2704704-8-197321406485304/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ec43-70ee-000000000006",
                        "name": "mirror-info-fork",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_2/review.rdoproject.org/rdo-jobs/roles/mirror-info-fork"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:25.452438Z",
                            "start": "2026-06-12T20:19:24.196233Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000000a",
                        "name": "Install ci_mirror script"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "authorized_key",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICWBreHW95Wz2Toz5YwCGQwFcUG8oFYkienDh9tntmDc ralfieri@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICWBreHW95Wz2Toz5YwCGQwFcUG8oFYkienDh9tntmDc ralfieri@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICWBreHW95Wz2Toz5YwCGQwFcUG8oFYkienDh9tntmDc ralfieri@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_public_key",
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "failed": false,
                                    "follow": false,
                                    "invocation": {
                                        "module_args": {
                                            "changed": true,
                                            "comment": null,
                                            "exclusive": false,
                                            "follow": false,
                                            "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono",
                                            "key_options": null,
                                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                                            "manage_dir": true,
                                            "path": null,
                                            "state": "present",
                                            "user": "zuul",
                                            "validate_certs": true
                                        }
                                    },
                                    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true,
                                    "zj_public_key": {
                                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ec43-70ee-00000000000c",
                        "name": "add-authorized-keys",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-authorized-keys"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:32.930045Z",
                            "start": "2026-06-12T20:19:25.479729Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000000e",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "community.general.timezone",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "name": "UTC"
                                },
                                "before": {
                                    "name": "America/New_York"
                                }
                            },
                            "invocation": {
                                "module_args": {
                                    "hwclock": null,
                                    "name": "UTC"
                                }
                            },
                            "msg": "executed `/bin/timedatectl set-timezone UTC`"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:33.501965Z",
                            "start": "2026-06-12T20:19:32.937683Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000011",
                        "name": "Set timezone to UTC"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0777",
                                    "path": "/etc/nodepool",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "0755",
                                    "path": "/etc/nodepool",
                                    "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": 511,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/etc/nodepool",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0777",
                            "owner": "root",
                            "path": "/etc/nodepool",
                            "secontext": "unconfined_u:object_r:etc_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:33.785971Z",
                            "start": "2026-06-12T20:19:33.505253Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000012",
                        "name": "Create nodepool directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                            "dest": "/etc/nodepool/sub_nodes",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmpsyiir3dz",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                                    "content": null,
                                    "dest": "/etc/nodepool/sub_nodes",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295573.8672168-48-84146443427164/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "d41d8cd98f00b204e9800998ecf8427e",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "system_u:object_r:etc_t:s0",
                            "size": 0,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295573.8672168-48-84146443427164/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:34.593879Z",
                            "start": "2026-06-12T20:19:33.790824Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000013",
                        "name": "Create nodepool sub_nodes file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                            "dest": "/etc/nodepool/sub_nodes_private",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmpc153cf7v",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                                    "content": null,
                                    "dest": "/etc/nodepool/sub_nodes_private",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295574.687523-57-192322972247737/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "d41d8cd98f00b204e9800998ecf8427e",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "system_u:object_r:etc_t:s0",
                            "size": 0,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295574.687523-57-192322972247737/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:35.433006Z",
                            "start": "2026-06-12T20:19:34.600943Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000014",
                        "name": "Create nodepool sub_nodes_private file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "groups['subnodes'] is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:35.487553Z",
                            "start": "2026-06-12T20:19:35.439830Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000015",
                        "name": "Populate nodepool sub_nodes file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "groups['subnodes'] is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:35.532636Z",
                            "start": "2026-06-12T20:19:35.495471Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000016",
                        "name": "Populate nodepool sub_nodes_private file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "hostvars['primary'] is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:35.578374Z",
                            "start": "2026-06-12T20:19:35.541267Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000017",
                        "name": "Create nodepool primary file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "342f501e01c1098669fc1f1874ec75e7ad7dd27a",
                            "dest": "/etc/nodepool/node_private",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmpfjjq76ge",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "342f501e01c1098669fc1f1874ec75e7ad7dd27a",
                                    "content": null,
                                    "dest": "/etc/nodepool/node_private",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295575.657766-69-241682700743877/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "862a5ee8dd595e69aab93c9a1419f283",
                            "mode": "0644",
                            "owner": "root",
                            "secontext": "system_u:object_r:etc_t:s0",
                            "size": 13,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295575.657766-69-241682700743877/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:36.364318Z",
                            "start": "2026-06-12T20:19:35.586386Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000018",
                        "name": "Create nodepool node_private for this node"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "cmd": [
                                        "cp",
                                        ".ssh/id_rsa",
                                        "/etc/nodepool/id_rsa"
                                    ],
                                    "delta": "0:00:00.006384",
                                    "end": "2026-06-12 20:19:36.825473",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "cp .ssh/id_rsa /etc/nodepool/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": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "item": "id_rsa",
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-06-12 20:19:36.819089",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zuul_log_id": "in-loop-ignore"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "cmd": [
                                        "cp",
                                        ".ssh/id_rsa.pub",
                                        "/etc/nodepool/id_rsa.pub"
                                    ],
                                    "delta": "0:00:00.009551",
                                    "end": "2026-06-12 20:19:37.075412",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "cp .ssh/id_rsa.pub /etc/nodepool/id_rsa.pub",
                                            "_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": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "item": "id_rsa.pub",
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-06-12 20:19:37.065861",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:37.110368Z",
                            "start": "2026-06-12T20:19:36.372770Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-000000000019",
                        "name": "Copy ssh keys to nodepool directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "bdca1a77493d00fb51567671791f4aa30f66c2f0",
                            "dest": "/etc/sudoers.d/zuul-sudo-grep",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmphphhvv2i",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "bdca1a77493d00fb51567671791f4aa30f66c2f0",
                                    "content": null,
                                    "dest": "/etc/sudoers.d/zuul-sudo-grep",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 288,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295577.1942163-81-34262847943105/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "c65b5e872e83f275574fd1c6d2ee9a11",
                            "mode": "0440",
                            "owner": "root",
                            "secontext": "system_u:object_r:etc_t:s0",
                            "size": 71,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295577.1942163-81-34262847943105/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:37.921550Z",
                            "start": "2026-06-12T20:19:37.113989Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000001a",
                        "name": "Add sudoers role for zuul-sudo-grep.sh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": false,
                            "cmd": [
                                "/usr/sbin/visudo",
                                "-c"
                            ],
                            "delta": "0:00:00.007067",
                            "end": "2026-06-12 20:19:38.234571",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/sbin/visudo -c",
                                    "_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": "0a580a2a-0021-ec43-70ee-00000000001b-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:19:38.227504",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/etc/sudoers: parsed OK\n/etc/sudoers.d/90-cloud-init-users: parsed OK\n/etc/sudoers.d/zuul: parsed OK\n/etc/sudoers.d/zuul-sudo-grep: parsed OK",
                            "stdout_lines": [
                                "/etc/sudoers: parsed OK",
                                "/etc/sudoers.d/90-cloud-init-users: parsed OK",
                                "/etc/sudoers.d/zuul: parsed OK",
                                "/etc/sudoers.d/zuul-sudo-grep: parsed OK"
                            ],
                            "zuul_log_id": "0a580a2a-0021-ec43-70ee-00000000001b-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:38.460252Z",
                            "start": "2026-06-12T20:19:37.937580Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000001b",
                        "name": "Validate sudoers config after edits"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": false,
                            "cmd": "env\n",
                            "delta": "0:00:00.007141",
                            "end": "2026-06-12 20:19:38.795236",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "env\n",
                                    "_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": "0a580a2a-0021-ec43-70ee-00000000001c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:19:38.788095",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "SHELL=/bin/bash\nZUUL_PROJECT=openstack-k8s-operators/architecture\nZUUL_SHORT_PROJECT_NAME=architecture\nZUUL_CHANGES=openstack-k8s-operators/architecture:main:refs/changes/59/759/96ad0e99da22a7b939f1210a5ea8973b59b2aacb\nPWD=/home/zuul\nZUUL_PIPELINE=github-check\nLOGNAME=zuul\nXDG_SESSION_TYPE=tty\n_=/usr/bin/env\nMOTD_SHOWN=pam\nHOME=/home/zuul\nLANG=en_US.UTF-8\nSSH_CONNECTION=38.129.56.84 49422 38.102.83.181 22\nTOX_TESTENV_PASSENV=ZUUL_UUID ZUUL_PROJECT ZUUL_SHORT_PROJECT_NAME ZUUL_PIPELINE ZUUL_VOTING WORKSPACE BUILD_TIMEOUT ZUUL_BRANCH ZUUL_CHANGES ZUUL_CHANGE_IDS ZUUL_CHANGE ZUUL_PATCHSET\nZUUL_CHANGE_IDS=759,96ad0e99da22a7b939f1210a5ea8973b59b2aacb\nWORKSPACE=/home/zuul/workspace\nXDG_SESSION_CLASS=user\nSELINUX_ROLE_REQUESTED=\nLESSOPEN=||/usr/bin/lesspipe.sh %s\nUSER=zuul\nZUUL_VOTING=True\nBUILD_TIMEOUT=1800000\nSELINUX_USE_CURRENT_RANGE=\nSHLVL=1\nZUUL_PATCHSET=96ad0e99da22a7b939f1210a5ea8973b59b2aacb\nXDG_SESSION_ID=1\nZUUL_BRANCH=main\nXDG_RUNTIME_DIR=/run/user/1000\nSSH_CLIENT=38.129.56.84 49422 22\nDEBUGINFOD_URLS=https://debuginfod.centos.org/ \nDEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima:\nwhich_declare=declare -f\nPATH=/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin\nSELINUX_LEVEL_REQUESTED=\nZUUL_CHANGE=759\nDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus\nZUUL_UUID=e6b1da1af9a247ea91ac085292eb4c93\nBASH_FUNC_which%%=() {  ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}",
                            "stdout_lines": [
                                "SHELL=/bin/bash",
                                "ZUUL_PROJECT=openstack-k8s-operators/architecture",
                                "ZUUL_SHORT_PROJECT_NAME=architecture",
                                "ZUUL_CHANGES=openstack-k8s-operators/architecture:main:refs/changes/59/759/96ad0e99da22a7b939f1210a5ea8973b59b2aacb",
                                "PWD=/home/zuul",
                                "ZUUL_PIPELINE=github-check",
                                "LOGNAME=zuul",
                                "XDG_SESSION_TYPE=tty",
                                "_=/usr/bin/env",
                                "MOTD_SHOWN=pam",
                                "HOME=/home/zuul",
                                "LANG=en_US.UTF-8",
                                "SSH_CONNECTION=38.129.56.84 49422 38.102.83.181 22",
                                "TOX_TESTENV_PASSENV=ZUUL_UUID ZUUL_PROJECT ZUUL_SHORT_PROJECT_NAME ZUUL_PIPELINE ZUUL_VOTING WORKSPACE BUILD_TIMEOUT ZUUL_BRANCH ZUUL_CHANGES ZUUL_CHANGE_IDS ZUUL_CHANGE ZUUL_PATCHSET",
                                "ZUUL_CHANGE_IDS=759,96ad0e99da22a7b939f1210a5ea8973b59b2aacb",
                                "WORKSPACE=/home/zuul/workspace",
                                "XDG_SESSION_CLASS=user",
                                "SELINUX_ROLE_REQUESTED=",
                                "LESSOPEN=||/usr/bin/lesspipe.sh %s",
                                "USER=zuul",
                                "ZUUL_VOTING=True",
                                "BUILD_TIMEOUT=1800000",
                                "SELINUX_USE_CURRENT_RANGE=",
                                "SHLVL=1",
                                "ZUUL_PATCHSET=96ad0e99da22a7b939f1210a5ea8973b59b2aacb",
                                "XDG_SESSION_ID=1",
                                "ZUUL_BRANCH=main",
                                "XDG_RUNTIME_DIR=/run/user/1000",
                                "SSH_CLIENT=38.129.56.84 49422 22",
                                "DEBUGINFOD_URLS=https://debuginfod.centos.org/ ",
                                "DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima:",
                                "which_declare=declare -f",
                                "PATH=/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin",
                                "SELINUX_LEVEL_REQUESTED=",
                                "ZUUL_CHANGE=759",
                                "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus",
                                "ZUUL_UUID=e6b1da1af9a247ea91ac085292eb4c93",
                                "BASH_FUNC_which%%=() {  ( alias;",
                                " eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@",
                                "}"
                            ],
                            "zuul_log_id": "0a580a2a-0021-ec43-70ee-00000000001c-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:39.028734Z",
                            "start": "2026-06-12T20:19:38.501348Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000001c",
                        "name": "Show the environment passed in to job shell scripts"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "ansible_user_id == \"zuul-worker\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:39.073277Z",
                            "start": "2026-06-12T20:19:39.043691Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000001d",
                        "name": "Workaround hardcoded /home/zuul/workspace in zuul_legacy_vars"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": false,
                            "false_condition": "ansible_user_id == \"zuul-worker\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:39.639156Z",
                            "start": "2026-06-12T20:19:39.123898Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000001e",
                        "name": "Symlink /home/zuul-worker/workspace"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/workspace",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/home/zuul/workspace",
                                    "state": "absent"
                                }
                            },
                            "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": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/workspace",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/home/zuul/workspace",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:39.903155Z",
                            "start": "2026-06-12T20:19:39.648801Z"
                        },
                        "id": "0a580a2a-0021-ec43-70ee-00000000001f",
                        "name": "Ensure legacy workspace directory"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 11,
            "failures": 0,
            "ignored": 0,
            "ok": 14,
            "rescued": 0,
            "skipped": 5,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:21:48.599232Z",
                    "start": "2026-06-12T20:19:41.050905Z"
                },
                "id": "0a580a2a-0021-f4e3-c7d9-000000000002",
                "name": "Run ci/playbooks/e2e-prepare.yml"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.include_role",
                            "changed": false,
                            "include_args": {
                                "name": "prepare-workspace"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:41.092553Z",
                            "start": "2026-06-12T20:19:41.062606Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000004",
                        "name": "Clone repos in the job workspace"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000035",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:41.535898Z",
                            "start": "2026-06-12T20:19:41.118103Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000037",
                        "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": "0a580a2a-0021-f4e3-c7d9-000000000035",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:43.558748Z",
                            "start": "2026-06-12T20:19:41.545576Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000038",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs"
                                }
                            },
                            "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": "0755",
                                    "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",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:19:44.005360Z",
                            "start": "2026-06-12T20:19:43.618588Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000005",
                        "name": "Create zuul-output directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.package",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "allow_downgrade": false,
                                    "allowerasing": false,
                                    "autoremove": false,
                                    "bugfix": false,
                                    "cacheonly": false,
                                    "conf_file": null,
                                    "disable_excludes": null,
                                    "disable_gpg_check": false,
                                    "disable_plugin": [],
                                    "disablerepo": [],
                                    "download_dir": null,
                                    "download_only": false,
                                    "enable_plugin": [],
                                    "enablerepo": [],
                                    "exclude": [],
                                    "install_repoquery": true,
                                    "install_weak_deps": true,
                                    "installroot": "/",
                                    "list": null,
                                    "lock_timeout": 30,
                                    "name": [
                                        "make",
                                        "python3",
                                        "podman",
                                        "python3-pip"
                                    ],
                                    "nobest": false,
                                    "releasever": null,
                                    "security": false,
                                    "skip_broken": false,
                                    "sslverify": true,
                                    "state": null,
                                    "update_cache": false,
                                    "update_only": false,
                                    "use_backend": "auto",
                                    "validate_certs": true
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "results": [
                                "Installed: criu-libs-3.19-5.el9.x86_64",
                                "Installed: crun-1.27-2.el9.x86_64",
                                "Installed: conmon-3:2.2.1-1.el9.x86_64",
                                "Installed: netavark-2:1.17.2-1.el9.x86_64",
                                "Installed: podman-6:5.8.2-1.el9.x86_64",
                                "Installed: protobuf-c-1.3.3-13.el9.x86_64",
                                "Installed: libslirp-4.4.0-8.el9.x86_64",
                                "Installed: yajl-2.1.0-25.el9.x86_64",
                                "Installed: container-selinux-4:2.247.0-1.el9.noarch",
                                "Installed: shadow-utils-subid-2:4.9-17.el9.x86_64",
                                "Installed: containers-common-5:5.8-1.el9.x86_64",
                                "Installed: fuse-common-3.10.2-9.el9.x86_64",
                                "Installed: libnet-1.2-7.el9.x86_64",
                                "Installed: slirp4netns-1.3.3-1.el9.x86_64",
                                "Installed: nftables-1:1.0.9-7.el9.x86_64",
                                "Installed: fuse-overlayfs-1.16-2.el9.x86_64",
                                "Installed: passt-0^20251210.gd04c480-3.el9.x86_64",
                                "Installed: fuse3-3.10.2-9.el9.x86_64",
                                "Installed: passt-selinux-0^20251210.gd04c480-3.el9.noarch",
                                "Installed: aardvark-dns-2:1.17.0-1.el9.x86_64",
                                "Installed: criu-3.19-5.el9.x86_64",
                                "Installed: fuse3-libs-3.10.2-9.el9.x86_64"
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:20:29.145741Z",
                            "start": "2026-06-12T20:19:44.013315Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000006",
                        "name": "Install required packages"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "pip",
                                "--version"
                            ],
                            "delta": "0:00:00.359104",
                            "end": "2026-06-12 20:20:29.912031",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "pip --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": "0a580a2a-0021-f4e3-c7d9-000000000007-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:20:29.552927",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)",
                            "stdout_lines": [
                                "pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)"
                            ],
                            "zuul_log_id": "0a580a2a-0021-f4e3-c7d9-000000000007-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:20:30.190219Z",
                            "start": "2026-06-12T20:20:29.173030Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000007",
                        "name": "Output pip related things"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "community.general.make",
                            "changed": true,
                            "chdir": "/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                            "command": "/usr/bin/gmake setup_molecule",
                            "file": null,
                            "invocation": {
                                "module_args": {
                                    "chdir": "/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                    "file": null,
                                    "jobs": null,
                                    "make": null,
                                    "params": null,
                                    "target": "setup_molecule",
                                    "targets": null
                                }
                            },
                            "jobs": null,
                            "params": null,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "bash scripts/setup_env 2>&1 | tee /tmp/setup_env.log\nallexport      \toff\nbraceexpand    \ton\nemacs          \toff\nerrexit        \ton\nerrtrace       \toff\nfunctrace      \toff\nhashall        \ton\nhistexpand     \toff\nhistory        \toff\nignoreeof      \toff\ninteractive-comments\ton\nkeyword        \toff\nmonitor        \toff\nnoclobber      \toff\nnoexec         \toff\nnoglob         \toff\nnolog          \toff\nnotify         \toff\nnounset        \ton\nonecmd         \toff\nphysical       \toff\npipefail       \ton\nposix          \toff\nprivileged     \toff\nverbose        \toff\nvi             \toff\nxtrace         \ton\n++++ readlink -f scripts/setup_env\n+++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/setup_env\n++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts\n+ export PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework\n+ PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework\n+ export ANSIBLE_SKIP_CONFLICT_CHECK=1\n+ ANSIBLE_SKIP_CONFLICT_CHECK=1\n+ USE_VENV=yes\n+ source /etc/os-release\n++ NAME='CentOS Stream'\n++ VERSION=9\n++ ID=centos\n++ ID_LIKE='rhel fedora'\n++ VERSION_ID=9\n++ PLATFORM_ID=platform:el9\n++ PRETTY_NAME='CentOS Stream 9'\n++ ANSI_COLOR='0;31'\n++ LOGO=fedora-logo-icon\n++ CPE_NAME=cpe:/o:centos:centos:9\n++ HOME_URL=https://centos.org/\n++ BUG_REPORT_URL=https://issues.redhat.com/\n++ REDHAT_SUPPORT_PRODUCT='Red Hat Enterprise Linux 9'\n++ REDHAT_SUPPORT_PRODUCT_VERSION='CentOS Stream'\n++ command -v dnf\n+ RHT_PKG_MGR=/usr/bin/dnf\n++ command -v python3\n+ PYTHON_EXEC=/usr/bin/python3\n++ dirname /usr/bin/python3\n+ SYSTEM_PIP=/usr/bin/pip3\n+ command -v gcc\n/usr/bin/gcc\n+ PIP_INSTALL_ARGUMENTS='-U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt'\n+ case ${USE_VENV} in\n+ PIP=/home/zuul/test-python/bin/pip3\n+ USE_VENV=yes\n+ echo\n\n+ echo\n\n+ echo\n\n+ sudo -k\n+ mkdir -p /home/zuul/ci/yum.repos.d\n+ cp /etc/ci/mirror_info.sh /home/zuul/ci\n+ cp -r '/opt/yum.repos.d/*' /home/zuul/ci/yum.repos.d\ncp: cannot stat '/opt/yum.repos.d/*': No such file or directory\n+ cp -r /etc/yum.repos.d/centos-addons.repo /etc/yum.repos.d/centos.repo /home/zuul/ci/yum.repos.d\n+ case ${USE_VENV} in\n+ :\n+ /usr/bin/python3 -m venv --upgrade-deps /home/zuul/test-python\nRequirement already satisfied: pip in /home/zuul/test-python/lib/python3.9/site-packages (21.3.1)\nCollecting pip\n  Downloading pip-26.0.1-py3-none-any.whl (1.8 MB)\nRequirement already satisfied: setuptools in /home/zuul/test-python/lib/python3.9/site-packages (53.0.0)\nCollecting setuptools\n  Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB)\nInstalling collected packages: setuptools, pip\n  Attempting uninstall: setuptools\n    Found existing installation: setuptools 53.0.0\n    Uninstalling setuptools-53.0.0:\n      Successfully uninstalled setuptools-53.0.0\n  Attempting uninstall: pip\n    Found existing installation: pip 21.3.1\n    Uninstalling pip-21.3.1:\n      Successfully uninstalled pip-21.3.1\nSuccessfully installed pip-26.0.1 setuptools-82.0.1\n+ [[ -d /home/zuul/.cache/pip/wheels ]]\n+ /home/zuul/test-python/bin/pip3 install pip setuptools bindep --upgrade\nRequirement already satisfied: pip in /home/zuul/test-python/lib/python3.9/site-packages (26.0.1)\nRequirement already satisfied: setuptools in /home/zuul/test-python/lib/python3.9/site-packages (82.0.1)\nCollecting bindep\n  Downloading bindep-2.14.0-py3-none-any.whl.metadata (11 kB)\nCollecting distro>=1.7 (from bindep)\n  Downloading distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)\nCollecting packaging (from bindep)\n  Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)\nCollecting Parsley (from bindep)\n  Downloading Parsley-1.3-py2.py3-none-any.whl.metadata (4.1 kB)\nCollecting pbr>=2 (from bindep)\n  Downloading pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB)\nDownloading bindep-2.14.0-py3-none-any.whl (35 kB)\nDownloading distro-1.9.0-py3-none-any.whl (20 kB)\nDownloading pbr-7.0.3-py2.py3-none-any.whl (131 kB)\nDownloading packaging-26.2-py3-none-any.whl (100 kB)\nDownloading Parsley-1.3-py2.py3-none-any.whl (88 kB)\nInstalling collected packages: Parsley, pbr, packaging, distro, bindep\n\nSuccessfully installed Parsley-1.3 bindep-2.14.0 distro-1.9.0 packaging-26.2 pbr-7.0.3\n+ /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/bindep-install\nallexport      \toff\nbraceexpand    \ton\nemacs          \toff\nerrexit        \ton\nerrtrace       \toff\nfunctrace      \toff\nhashall        \ton\nhistexpand     \toff\nhistory        \toff\nignoreeof      \toff\ninteractive-comments\ton\nkeyword        \toff\nmonitor        \toff\nnoclobber      \toff\nnoexec         \toff\nnoglob         \toff\nnolog          \toff\nnotify         \toff\nnounset        \ton\nonecmd         \toff\nphysical       \toff\npipefail       \ton\nposix          \toff\nprivileged     \toff\nverbose        \toff\nvi             \toff\nxtrace         \ton\n+++ readlink -f /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/bindep-install\n++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/bindep-install\n+ export BINDEP_FILE=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/../bindep.txt\n+ BINDEP_FILE=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/../bindep.txt\n+ source /etc/os-release\n++ NAME='CentOS Stream'\n++ VERSION=9\n++ ID=centos\n++ ID_LIKE='rhel fedora'\n++ VERSION_ID=9\n++ PLATFORM_ID=platform:el9\n++ PRETTY_NAME='CentOS Stream 9'\n++ ANSI_COLOR='0;31'\n++ LOGO=fedora-logo-icon\n++ CPE_NAME=cpe:/o:centos:centos:9\n++ HOME_URL=https://centos.org/\n++ BUG_REPORT_URL=https://issues.redhat.com/\n++ REDHAT_SUPPORT_PRODUCT='Red Hat Enterprise Linux 9'\n++ REDHAT_SUPPORT_PRODUCT_VERSION='CentOS Stream'\n++ command -v dnf\n+ RHT_PKG_MGR=/usr/bin/dnf\n+ BINDEP_PKGS=\n+ case ${USE_VENV:-'yes'} in\n++ /home/zuul/test-python/bin/bindep -b -f /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/../bindep.txt test\n++ true\n+ BINDEP_PKGS='python3-jmespath\npython3-libvirt\npython3-lxml\npython3-netaddr'\n+ [[ 61 -gt 0 ]]\n+ case \"${ID,,}\" in\n+ sudo /usr/bin/dnf install -y python3-jmespath python3-libvirt python3-lxml python3-netaddr\nLast metadata expiration check: 0:00:52 ago on Fri 12 Jun 2026 08:19:46 PM UTC.\nDependencies resolved.\n================================================================================\n Package                Arch        Version                Repository      Size\n================================================================================\nInstalling:\n python3-jmespath       noarch      1.0.1-1.el9            appstream       48 k\n python3-libvirt        x86_64      11.10.0-2.el9          appstream      347 k\n python3-lxml           x86_64      4.6.5-3.el9            appstream      1.2 M\n python3-netaddr        noarch      0.10.1-3.el9           appstream      1.5 M\nInstalling dependencies:\n cyrus-sasl-gssapi      x86_64      2.1.27-21.el9          baseos          27 k\n libvirt-libs           x86_64      11.10.0-13.el9         appstream      5.5 M\n\nTransaction Summary\n================================================================================\nInstall  6 Packages\n\nTotal download size: 8.7 M\nInstalled size: 45 M\nDownloading Packages:\n(1/6): cyrus-sasl-gssapi-2.1.27-21.el9.x86_64.r 122 kB/s |  27 kB     00:00    \n(2/6): python3-jmespath-1.0.1-1.el9.noarch.rpm  163 kB/s |  48 kB     00:00    \n(3/6): python3-libvirt-11.10.0-2.el9.x86_64.rpm 1.6 MB/s | 347 kB     00:00    \n(4/6): python3-lxml-4.6.5-3.el9.x86_64.rpm      4.6 MB/s | 1.2 MB     00:00    \n(5/6): libvirt-libs-11.10.0-13.el9.x86_64.rpm   9.0 MB/s | 5.5 MB     00:00    \n(6/6): python3-netaddr-0.10.1-3.el9.noarch.rpm  7.6 MB/s | 1.5 MB     00:00    \n--------------------------------------------------------------------------------\nTotal                                            10 MB/s | 8.7 MB     00:00     \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n  Preparing        :                                                        1/1 \n  Installing       : cyrus-sasl-gssapi-2.1.27-21.el9.x86_64                 1/6 \n  Installing       : libvirt-libs-11.10.0-13.el9.x86_64                     2/6 \n  Installing       : python3-libvirt-11.10.0-2.el9.x86_64                   3/6 \n  Installing       : python3-netaddr-0.10.1-3.el9.noarch                    4/6 \n  Installing       : python3-lxml-4.6.5-3.el9.x86_64                        5/6 \n  Installing       : python3-jmespath-1.0.1-1.el9.noarch                    6/6 \n  Running scriptlet: python3-jmespath-1.0.1-1.el9.noarch                    6/6 \n  Verifying        : cyrus-sasl-gssapi-2.1.27-21.el9.x86_64                 1/6 \n  Verifying        : libvirt-libs-11.10.0-13.el9.x86_64                     2/6 \n  Verifying        : python3-jmespath-1.0.1-1.el9.noarch                    3/6 \n  Verifying        : python3-libvirt-11.10.0-2.el9.x86_64                   4/6 \n  Verifying        : python3-lxml-4.6.5-3.el9.x86_64                        5/6 \n  Verifying        : python3-netaddr-0.10.1-3.el9.noarch                    6/6 \n\nInstalled:\n  cyrus-sasl-gssapi-2.1.27-21.el9.x86_64  libvirt-libs-11.10.0-13.el9.x86_64   \n  python3-jmespath-1.0.1-1.el9.noarch     python3-libvirt-11.10.0-2.el9.x86_64 \n  python3-lxml-4.6.5-3.el9.x86_64         python3-netaddr-0.10.1-3.el9.noarch  \n\nComplete!\n+ /usr/bin/pip3 install -U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt\nDefaulting to user installation because normal site-packages is not writeable\nCollecting ansible-core==2.15.13\n  Downloading ansible_core-2.15.13-py3-none-any.whl (2.3 MB)\nCollecting oauthlib==3.2.2\n  Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB)\nCollecting kubernetes==35.0.0\n  Downloading kubernetes-35.0.0-py2.py3-none-any.whl (2.0 MB)\nCollecting kubernetes-validate==1.35.0\n  Downloading kubernetes_validate-1.35.0-py3-none-any.whl (18.1 MB)\nCollecting openstacksdk==4.1.0\n  Downloading openstacksdk-4.1.0-py3-none-any.whl (1.7 MB)\nCollecting jsonschema==4.23.0\n  Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)\nCollecting pyOpenSSL==24.2.1\n  Downloading pyOpenSSL-24.2.1-py3-none-any.whl (58 kB)\nCollecting cryptography\n  Downloading cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (4.7 MB)\nCollecting importlib-resources<5.1,>=5.0\n  Downloading importlib_resources-5.0.7-py3-none-any.whl (24 kB)\nRequirement already satisfied: packaging in /usr/lib/python3.9/site-packages (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 1)) (20.9)\nCollecting resolvelib<1.1.0,>=0.5.3\n  Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)\nCollecting jinja2>=3.0.0\n  Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)\nRequirement already satisfied: PyYAML>=5.1 in /usr/lib64/python3.9/site-packages (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 1)) (5.4.1)\nRequirement already satisfied: six>=1.9.0 in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (1.15.0)\nRequirement already satisfied: python-dateutil>=2.5.3 in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (2.9.0.post0)\nRequirement already satisfied: urllib3!=2.6.0,>=1.24.2 in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (1.26.5)\nCollecting certifi>=14.05.14\n  Downloading certifi-2026.5.20-py3-none-any.whl (134 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n  Downloading websocket_client-1.9.0-py3-none-any.whl (82 kB)\nCollecting durationpy>=0.7\n  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)\nRequirement already satisfied: requests in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (2.25.1)\nCollecting requests-oauthlib\n  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)\nCollecting referencing\n  Downloading referencing-0.36.2-py3-none-any.whl (26 kB)\nCollecting typing-extensions\n  Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)\nCollecting keystoneauth1>=3.18.0\n  Downloading keystoneauth1-5.11.1-py3-none-any.whl (344 kB)\nCollecting pbr!=2.1.0,>=2.0.0\n  Downloading pbr-7.0.3-py2.py3-none-any.whl (131 kB)\nCollecting os-service-types>=1.7.0\n  Downloading os_service_types-1.7.0-py2.py3-none-any.whl (24 kB)\nCollecting iso8601>=0.1.11\n  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)\nRequirement already satisfied: jsonpatch!=1.20,>=1.16 in /usr/lib/python3.9/site-packages (from openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (1.21)\nRequirement already satisfied: netifaces>=0.10.4 in /usr/lib64/python3.9/site-packages (from openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (0.10.6)\nCollecting platformdirs>=3\n  Downloading platformdirs-4.4.0-py3-none-any.whl (18 kB)\nRequirement already satisfied: jmespath>=0.9.0 in /usr/lib/python3.9/site-packages (from openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (1.0.1)\nCollecting decorator>=4.4.1\n  Downloading decorator-5.3.1-py3-none-any.whl (10 kB)\nCollecting dogpile.cache>=0.6.5\n  Downloading dogpile_cache-1.4.1-py3-none-any.whl (63 kB)\nCollecting requestsexceptions>=1.2.0\n  Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB)\nCollecting attrs>=22.2.0\n  Downloading attrs-26.1.0-py3-none-any.whl (67 kB)\nCollecting rpds-py>=0.7.1\n  Downloading rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384 kB)\nCollecting jsonschema-specifications>=2023.03.6\n  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)\nCollecting cryptography\n  Downloading cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl (4.0 MB)\nCollecting cffi>=1.12\n  Downloading cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (216 kB)\nCollecting stevedore>=3.0.0\n  Downloading stevedore-5.5.0-py3-none-any.whl (49 kB)\nCollecting MarkupSafe>=2.0\n  Downloading markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20 kB)\nRequirement already satisfied: jsonpointer>=1.9 in /usr/lib/python3.9/site-packages (from jsonpatch!=1.20,>=1.16->openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (2.0)\nRequirement already satisfied: setuptools in /usr/lib/python3.9/site-packages (from pbr!=2.1.0,>=2.0.0->openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (53.0.0)\nRequirement already satisfied: chardet<5,>=3.0.2 in /usr/lib/python3.9/site-packages (from requests->kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (4.0.0)\nRequirement already satisfied: idna<3,>=2.5 in /usr/lib/python3.9/site-packages (from requests->kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (2.10)\nRequirement already satisfied: pyparsing>=2.0.2 in /usr/lib/python3.9/site-packages (from packaging->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 1)) (2.4.7)\nCollecting pycparser\n  Downloading pycparser-2.23-py3-none-any.whl (118 kB)\nInstalling collected packages: typing-extensions, rpds-py, attrs, referencing, pycparser, pbr, stevedore, os-service-types, oauthlib, MarkupSafe, jsonschema-specifications, iso8601, decorator, cffi, websocket-client, resolvelib, requestsexceptions, requests-oauthlib, platformdirs, keystoneauth1, jsonschema, jinja2, importlib-resources, durationpy, dogpile.cache, cryptography, certifi, pyOpenSSL, openstacksdk, kubernetes-validate, kubernetes, ansible-core\nSuccessfully installed MarkupSafe-3.0.3 ansible-core-2.15.13 attrs-26.1.0 certifi-2026.5.20 cffi-2.0.0 cryptography-43.0.3 decorator-5.3.1 dogpile.cache-1.4.1 durationpy-0.10 importlib-resources-5.0.7 iso8601-2.1.0 jinja2-3.1.6 jsonschema-4.23.0 jsonschema-specifications-2025.9.1 keystoneauth1-5.11.1 kubernetes-35.0.0 kubernetes-validate-1.35.0 oauthlib-3.2.2 openstacksdk-4.1.0 os-service-types-1.7.0 pbr-7.0.3 platformdirs-4.4.0 pyOpenSSL-24.2.1 pycparser-2.23 referencing-0.36.2 requests-oauthlib-2.0.0 requestsexceptions-1.4.0 resolvelib-1.0.1 rpds-py-0.27.1 stevedore-5.5.0 typing-extensions-4.15.0 websocket-client-1.9.0\n+ /usr/bin/pip3 freeze\nansible-core==2.15.13\nattrs==26.1.0\nBabel==2.9.1\ncertifi==2026.5.20\ncffi==2.0.0\nchardet==4.0.0\ncloud-init==24.4\ncockpit @ file:///builddir/build/BUILD/cockpit-363.2/tmp/wheel/cockpit-363.2-py3-none-any.whl\nconfigobj==5.0.6\ncryptography==43.0.3\ndasbus==1.7\ndbus-python==1.2.18\ndecorator==5.3.1\ndistro==1.5.0\ndogpile.cache==1.4.1\ndurationpy==0.10\nfile-magic==0.4.0\ngpg==1.15.1\nidna==2.10\nimportlib-resources==5.0.7\niso8601==2.1.0\nJinja2==3.1.6\njmespath==1.0.1\njsonpatch==1.21\njsonpointer==2.0\njsonschema==4.23.0\njsonschema-specifications==2025.9.1\nkeystoneauth1==5.11.1\nkubernetes==35.0.0\nkubernetes-validate==1.35.0\nlibcomps==0.1.18\nlibvirt-python==11.10.0\nlxml==4.6.5\nMarkupSafe==3.0.3\nnetaddr==0.10.1\nnetifaces==0.10.6\noauthlib==3.2.2\nopenstacksdk==4.1.0\nos-service-types==1.7.0\npackaging==20.9\npbr==7.0.3\npexpect==4.8.0\nplatformdirs==4.4.0\nprettytable==0.7.2\nptyprocess==0.6.0\npycparser==2.23\npyenchant==3.2.0\nPyGObject==3.40.1\npyOpenSSL==24.2.1\npyparsing==2.4.7\npyrsistent==0.17.3\npyserial==3.4\nPySocks==1.7.1\npython-dateutil==2.9.0.post0\npytz==2021.1\nPyYAML==5.4.1\nreferencing==0.36.2\nrequests==2.25.1\nrequests-oauthlib==2.0.0\nrequestsexceptions==1.4.0\nresolvelib==1.0.1\nrpds-py==0.27.1\nrpm==4.16.1.3\nselinux==3.6\nsepolicy==3.6\nsetools==4.4.4\nsetroubleshoot @ file:///builddir/build/BUILD/setroubleshoot-3.3.35/src\nsix==1.15.0\nsos==4.11.0\nstevedore==5.5.0\nsystemd-python==234\ntyping_extensions==4.15.0\nurllib3==1.26.5\nwebsocket-client==1.9.0\n+ /home/zuul/test-python/bin/pip3 freeze\nbindep==2.14.0\ndistro==1.9.0\npackaging==26.2\nParsley==1.3\npbr==7.0.3\nbash scripts/setup_molecule 2>&1 | tee /tmp/setup_molecule.log\nallexport      \toff\nbraceexpand    \ton\nemacs          \toff\nerrexit        \ton\nerrtrace       \toff\nfunctrace      \toff\nhashall        \ton\nhistexpand     \toff\nhistory        \toff\nignoreeof      \toff\ninteractive-comments\ton\nkeyword        \toff\nmonitor        \toff\nnoclobber      \toff\nnoexec         \toff\nnoglob         \toff\nnolog          \toff\nnotify         \toff\nnounset        \ton\nonecmd         \toff\nphysical       \toff\npipefail       \ton\nposix          \toff\nprivileged     \toff\nverbose        \toff\nvi             \toff\nxtrace         \ton\n++++ readlink -f scripts/setup_molecule\n+++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/setup_molecule\n++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts\n+ export PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework\n+ PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework\n+ export ANSIBLE_SKIP_CONFLICT_CHECK=1\n+ ANSIBLE_SKIP_CONFLICT_CHECK=1\n+ PIP_INSTALL_ARGUMENTS='-U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt'\n+ case ${USE_VENV-'yes'} in\n+ GALAXY=/home/zuul/test-python/bin/ansible-galaxy\n+ PIP=/home/zuul/test-python/bin/pip3\n+ /home/zuul/test-python/bin/pip3 install -U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt\nCollecting ansible-core==2.15.13 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading ansible_core-2.15.13-py3-none-any.whl.metadata (7.0 kB)\nCollecting molecule==5.1.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading molecule-5.1.0-py3-none-any.whl.metadata (7.8 kB)\nCollecting molecule-plugins==23.5.0 (from molecule-plugins[podman]==23.5.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 5))\n  Downloading molecule_plugins-23.5.0-py3-none-any.whl.metadata (2.9 kB)\nCollecting ruamel.yaml==0.18.6 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 6))\n  Downloading ruamel.yaml-0.18.6-py3-none-any.whl.metadata (23 kB)\nCollecting ansi2html==1.9.2 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 7))\n  Downloading ansi2html-1.9.2-py3-none-any.whl.metadata (3.7 kB)\nCollecting dogpile.cache==1.3.3 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))\n  Downloading dogpile.cache-1.3.3-py3-none-any.whl.metadata (5.2 kB)\nCollecting jmespath==1.0.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 9))\n  Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\nCollecting netaddr==1.3.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 10))\n  Downloading netaddr-1.3.0-py3-none-any.whl.metadata (5.0 kB)\nCollecting dnspython==2.7.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 11))\n  Downloading dnspython-2.7.0-py3-none-any.whl.metadata (5.8 kB)\nCollecting pytest==8.3.3 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))\n  Downloading pytest-8.3.3-py3-none-any.whl.metadata (7.5 kB)\nCollecting pytest-cov==6.0.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 15))\n  Downloading pytest_cov-6.0.0-py3-none-any.whl.metadata (27 kB)\nCollecting pytest-html==4.1.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 16))\n  Downloading pytest_html-4.1.1-py3-none-any.whl.metadata (3.9 kB)\nCollecting pytest-testinfra==10.1.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 17))\n  Downloading pytest_testinfra-10.1.1-py3-none-any.whl.metadata (3.7 kB)\nCollecting pytest-xdist==3.6.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 18))\n  Downloading pytest_xdist-3.6.1-py3-none-any.whl.metadata (4.3 kB)\nCollecting mock==5.1.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 19))\n  Downloading mock-5.1.0-py3-none-any.whl.metadata (3.0 kB)\nCollecting pre-commit==4.0.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading pre_commit-4.0.1-py2.py3-none-any.whl.metadata (1.3 kB)\nCollecting yamllint==1.35.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 23))\n  Downloading yamllint-1.35.1-py3-none-any.whl.metadata (4.2 kB)\nCollecting pyspelling==2.10 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading pyspelling-2.10-py3-none-any.whl.metadata (3.8 kB)\nCollecting mkdocs-pymdownx-material-extras==2.6 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading mkdocs_pymdownx_material_extras-2.6-py3-none-any.whl.metadata (5.3 kB)\nCollecting ansi2txt==0.2.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 28))\n  Downloading ansi2txt-0.2.0-py3-none-any.whl.metadata (2.1 kB)\nCollecting jinja2>=3.0.0 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\nCollecting PyYAML>=5.1 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\nCollecting cryptography (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (4.3 kB)\nRequirement already satisfied: packaging in /home/zuul/test-python/lib/python3.9/site-packages (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1)) (26.2)\nCollecting resolvelib<1.1.0,>=0.5.3 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading resolvelib-1.0.1-py2.py3-none-any.whl.metadata (4.0 kB)\nCollecting importlib-resources<5.1,>=5.0 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading importlib_resources-5.0.7-py3-none-any.whl.metadata (2.8 kB)\nCollecting ansible-compat>=4.1.2 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading ansible_compat-24.10.0-py3-none-any.whl.metadata (4.0 kB)\nCollecting click<9,>=8.0 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)\nCollecting click-help-colors>=0.9 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading click_help_colors-0.9.4-py3-none-any.whl.metadata (4.1 kB)\nCollecting cookiecutter>=1.7.3 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading cookiecutter-2.6.0-py3-none-any.whl.metadata (7.3 kB)\nCollecting enrich>=1.2.7 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading enrich-1.2.7-py3-none-any.whl.metadata (3.9 kB)\nCollecting jsonschema>=4.9.1 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading jsonschema-4.25.1-py3-none-any.whl.metadata (7.6 kB)\nCollecting pluggy<2.0,>=0.7.1 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)\nCollecting rich>=9.5.1 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading rich-15.0.0-py3-none-any.whl.metadata (18 kB)\nCollecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml==0.18.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 6))\n  Downloading ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (3.5 kB)\nCollecting decorator>=4.0.0 (from dogpile.cache==1.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))\n  Downloading decorator-5.3.1-py3-none-any.whl.metadata (3.9 kB)\nCollecting stevedore>=3.0.0 (from dogpile.cache==1.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))\n  Downloading stevedore-5.5.0-py3-none-any.whl.metadata (2.2 kB)\nCollecting typing-extensions>=4.0.1 (from dogpile.cache==1.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))\n  Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)\nCollecting iniconfig (from pytest==8.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))\n  Downloading iniconfig-2.1.0-py3-none-any.whl.metadata (2.7 kB)\nCollecting exceptiongroup>=1.0.0rc8 (from pytest==8.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))\n  Downloading exceptiongroup-1.3.1-py3-none-any.whl.metadata (6.7 kB)\nCollecting tomli>=1 (from pytest==8.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))\n  Downloading tomli-2.4.1-py3-none-any.whl.metadata (10 kB)\nCollecting coverage>=7.5 (from coverage[toml]>=7.5->pytest-cov==6.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 15))\n  Downloading coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (8.9 kB)\nCollecting pytest-metadata>=2.0.0 (from pytest-html==4.1.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 16))\n  Downloading pytest_metadata-3.1.1-py3-none-any.whl.metadata (8.6 kB)\nCollecting execnet>=2.1 (from pytest-xdist==3.6.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 18))\n  Downloading execnet-2.1.2-py3-none-any.whl.metadata (2.9 kB)\nCollecting cfgv>=2.0.0 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB)\nCollecting identify>=1.0.0 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading identify-2.6.15-py2.py3-none-any.whl.metadata (4.4 kB)\nCollecting nodeenv>=0.11.1 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading nodeenv-1.10.0-py2.py3-none-any.whl.metadata (24 kB)\nCollecting virtualenv>=20.10.0 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading virtualenv-21.4.3-py3-none-any.whl.metadata (3.5 kB)\nCollecting pathspec>=0.5.3 (from yamllint==1.35.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 23))\n  Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)\nCollecting beautifulsoup4 (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB)\nCollecting html5lib (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB)\nCollecting lxml (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading lxml-6.1.1-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.5 kB)\nCollecting markdown (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading markdown-3.9-py3-none-any.whl.metadata (5.1 kB)\nCollecting soupsieve>=1.8 (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading soupsieve-2.8.4-py3-none-any.whl.metadata (4.6 kB)\nCollecting wcmatch>=8.5 (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading wcmatch-10.1-py3-none-any.whl.metadata (5.1 kB)\nCollecting mkdocs-material>=8.3.3 (from mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading mkdocs_material-9.7.6-py3-none-any.whl.metadata (19 kB)\nCollecting subprocess-tee>=0.4.1 (from ansible-compat>=4.1.2->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading subprocess_tee-0.4.2-py3-none-any.whl.metadata (3.3 kB)\nCollecting binaryornot>=0.4.4 (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading binaryornot-0.4.4-py2.py3-none-any.whl.metadata (6.0 kB)\nCollecting python-slugify>=4.0.0 (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading python_slugify-8.0.4-py2.py3-none-any.whl.metadata (8.5 kB)\nCollecting requests>=2.23.0 (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)\nCollecting arrow (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading arrow-1.4.0-py3-none-any.whl.metadata (7.7 kB)\nCollecting MarkupSafe>=2.0 (from jinja2>=3.0.0->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)\nCollecting chardet>=3.0.2 (from binaryornot>=0.4.4->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB)\nCollecting attrs>=22.2.0 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)\nCollecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)\nCollecting referencing>=0.28.4 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading referencing-0.36.2-py3-none-any.whl.metadata (2.8 kB)\nCollecting rpds-py>=0.7.1 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\nCollecting babel>=2.10 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)\nCollecting backrefs>=5.7.post1 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading backrefs-6.2-py39-none-any.whl.metadata (3.0 kB)\nCollecting colorama>=0.4 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\nCollecting mkdocs-material-extensions>=1.3 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading mkdocs_material_extensions-1.3.1-py3-none-any.whl.metadata (6.9 kB)\nCollecting mkdocs<2,>=1.6 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading mkdocs-1.6.1-py3-none-any.whl.metadata (6.0 kB)\nCollecting paginate>=0.5 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading paginate-0.5.7-py2.py3-none-any.whl.metadata (11 kB)\nCollecting pygments>=2.16 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)\nCollecting pymdown-extensions>=10.2 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading pymdown_extensions-10.21.3-py3-none-any.whl.metadata (3.1 kB)\nCollecting ghp-import>=1.0 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading ghp_import-2.1.0-py3-none-any.whl.metadata (7.2 kB)\nCollecting importlib-metadata>=4.4 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading importlib_metadata-8.7.1-py3-none-any.whl.metadata (4.7 kB)\nCollecting mergedeep>=1.3.4 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading mergedeep-1.3.4-py3-none-any.whl.metadata (4.3 kB)\nCollecting mkdocs-get-deps>=0.2.0 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading mkdocs_get_deps-0.2.2-py3-none-any.whl.metadata (4.0 kB)\nCollecting pyyaml-env-tag>=0.1 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading pyyaml_env_tag-1.1-py3-none-any.whl.metadata (5.5 kB)\nCollecting watchdog>=2.0 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl.metadata (44 kB)\nCollecting python-dateutil>=2.8.1 (from ghp-import>=1.0->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)\nCollecting zipp>=3.20 (from importlib-metadata>=4.4->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading zipp-3.23.1-py3-none-any.whl.metadata (3.6 kB)\nCollecting platformdirs>=2.2.0 (from mkdocs-get-deps>=0.2.0->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading platformdirs-4.4.0-py3-none-any.whl.metadata (12 kB)\nCollecting six>=1.5 (from python-dateutil>=2.8.1->ghp-import>=1.0->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))\n  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)\nCollecting text-unidecode>=1.3 (from python-slugify>=4.0.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)\nCollecting charset_normalizer<4,>=2 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)\nCollecting idna<4,>=2.5 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)\nCollecting urllib3<3,>=1.21.1 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB)\nCollecting certifi>=2017.4.17 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB)\nCollecting markdown-it-py>=2.2.0 (from rich>=9.5.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)\nCollecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=9.5.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\nCollecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading distlib-0.4.3-py2.py3-none-any.whl.metadata (5.3 kB)\nCollecting filelock<=3.19.1,>=3.16.1 (from virtualenv>=20.10.0->pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading filelock-3.19.1-py3-none-any.whl.metadata (2.1 kB)\nCollecting python-discovery>=1.4.2 (from virtualenv>=20.10.0->pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))\n  Downloading python_discovery-1.4.2-py3-none-any.whl.metadata (5.6 kB)\nCollecting bracex>=2.1.1 (from wcmatch>=8.5->pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading bracex-2.6-py3-none-any.whl.metadata (3.6 kB)\nCollecting tzdata (from arrow->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))\n  Downloading tzdata-2026.2-py2.py3-none-any.whl.metadata (1.4 kB)\nCollecting cffi>=2.0.0 (from cryptography->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)\nCollecting pycparser (from cffi>=2.0.0->cryptography->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))\n  Downloading pycparser-2.23-py3-none-any.whl.metadata (993 bytes)\nCollecting webencodings (from html5lib->pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))\n  Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB)\nDownloading ansible_core-2.15.13-py3-none-any.whl (2.3 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 22.0 MB/s  0:00:00\nDownloading molecule-5.1.0-py3-none-any.whl (240 kB)\nDownloading molecule_plugins-23.5.0-py3-none-any.whl (68 kB)\nDownloading ruamel.yaml-0.18.6-py3-none-any.whl (117 kB)\nDownloading ansi2html-1.9.2-py3-none-any.whl (17 kB)\nDownloading dogpile.cache-1.3.3-py3-none-any.whl (58 kB)\nDownloading jmespath-1.0.1-py3-none-any.whl (20 kB)\nDownloading netaddr-1.3.0-py3-none-any.whl (2.3 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 71.8 MB/s  0:00:00\nDownloading dnspython-2.7.0-py3-none-any.whl (313 kB)\nDownloading pytest-8.3.3-py3-none-any.whl (342 kB)\nDownloading pytest_cov-6.0.0-py3-none-any.whl (22 kB)\nDownloading pytest_html-4.1.1-py3-none-any.whl (23 kB)\nDownloading pytest_testinfra-10.1.1-py3-none-any.whl (76 kB)\nDownloading pytest_xdist-3.6.1-py3-none-any.whl (46 kB)\nDownloading mock-5.1.0-py3-none-any.whl (30 kB)\nDownloading pre_commit-4.0.1-py2.py3-none-any.whl (218 kB)\nDownloading yamllint-1.35.1-py3-none-any.whl (66 kB)\nDownloading pyspelling-2.10-py3-none-any.whl (45 kB)\nDownloading mkdocs_pymdownx_material_extras-2.6-py3-none-any.whl (27 kB)\nDownloading ansi2txt-0.2.0-py3-none-any.whl (14 kB)\nDownloading click-8.1.8-py3-none-any.whl (98 kB)\nDownloading importlib_resources-5.0.7-py3-none-any.whl (24 kB)\nDownloading pluggy-1.6.0-py3-none-any.whl (20 kB)\nDownloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)\nDownloading ansible_compat-24.10.0-py3-none-any.whl (24 kB)\nDownloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)\nDownloading click_help_colors-0.9.4-py3-none-any.whl (6.4 kB)\nDownloading cookiecutter-2.6.0-py3-none-any.whl (39 kB)\nDownloading jinja2-3.1.6-py3-none-any.whl (134 kB)\nDownloading binaryornot-0.4.4-py2.py3-none-any.whl (9.0 kB)\nDownloading chardet-5.2.0-py3-none-any.whl (199 kB)\nDownloading coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (246 kB)\nDownloading decorator-5.3.1-py3-none-any.whl (10 kB)\nDownloading enrich-1.2.7-py3-none-any.whl (8.7 kB)\nDownloading exceptiongroup-1.3.1-py3-none-any.whl (16 kB)\nDownloading execnet-2.1.2-py3-none-any.whl (40 kB)\nDownloading identify-2.6.15-py2.py3-none-any.whl (99 kB)\nDownloading jsonschema-4.25.1-py3-none-any.whl (90 kB)\nDownloading attrs-26.1.0-py3-none-any.whl (67 kB)\nDownloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)\nDownloading markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20 kB)\nDownloading mkdocs_material-9.7.6-py3-none-any.whl (9.3 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 9.3/9.3 MB 108.0 MB/s  0:00:00\nDownloading mkdocs-1.6.1-py3-none-any.whl (3.9 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 3.9/3.9 MB 108.1 MB/s  0:00:00\nDownloading babel-2.18.0-py3-none-any.whl (10.2 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 10.2/10.2 MB 93.0 MB/s  0:00:00\nDownloading backrefs-6.2-py39-none-any.whl (381 kB)\nDownloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\nDownloading ghp_import-2.1.0-py3-none-any.whl (11 kB)\nDownloading importlib_metadata-8.7.1-py3-none-any.whl (27 kB)\nDownloading markdown-3.9-py3-none-any.whl (107 kB)\nDownloading mergedeep-1.3.4-py3-none-any.whl (6.4 kB)\nDownloading mkdocs_get_deps-0.2.2-py3-none-any.whl (9.6 kB)\nDownloading mkdocs_material_extensions-1.3.1-py3-none-any.whl (8.7 kB)\nDownloading nodeenv-1.10.0-py2.py3-none-any.whl (23 kB)\nDownloading paginate-0.5.7-py2.py3-none-any.whl (13 kB)\nDownloading pathspec-1.1.1-py3-none-any.whl (57 kB)\nDownloading platformdirs-4.4.0-py3-none-any.whl (18 kB)\nDownloading pygments-2.20.0-py3-none-any.whl (1.2 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 85.6 MB/s  0:00:00\nDownloading pymdown_extensions-10.21.3-py3-none-any.whl (269 kB)\nDownloading pytest_metadata-3.1.1-py3-none-any.whl (11 kB)\nDownloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\nDownloading python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)\nDownloading pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (750 kB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 750.8/750.8 kB 28.3 MB/s  0:00:00\nDownloading pyyaml_env_tag-1.1-py3-none-any.whl (4.7 kB)\nDownloading referencing-0.36.2-py3-none-any.whl (26 kB)\nDownloading requests-2.32.5-py3-none-any.whl (64 kB)\nDownloading charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (208 kB)\nDownloading idna-3.18-py3-none-any.whl (65 kB)\nDownloading urllib3-2.6.3-py3-none-any.whl (131 kB)\nDownloading certifi-2026.5.20-py3-none-any.whl (134 kB)\nDownloading rich-15.0.0-py3-none-any.whl (310 kB)\nDownloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)\nDownloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\nDownloading rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384 kB)\nDownloading ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (734 kB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 734.1/734.1 kB 24.0 MB/s  0:00:00\nDownloading six-1.17.0-py2.py3-none-any.whl (11 kB)\nDownloading soupsieve-2.8.4-py3-none-any.whl (37 kB)\nDownloading stevedore-5.5.0-py3-none-any.whl (49 kB)\nDownloading subprocess_tee-0.4.2-py3-none-any.whl (5.2 kB)\nDownloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)\nDownloading tomli-2.4.1-py3-none-any.whl (14 kB)\nDownloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)\nDownloading virtualenv-21.4.3-py3-none-any.whl (7.6 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 7.6/7.6 MB 78.9 MB/s  0:00:00\nDownloading distlib-0.4.3-py2.py3-none-any.whl (470 kB)\nDownloading filelock-3.19.1-py3-none-any.whl (15 kB)\nDownloading python_discovery-1.4.2-py3-none-any.whl (33 kB)\nDownloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl (79 kB)\nDownloading wcmatch-10.1-py3-none-any.whl (39 kB)\nDownloading bracex-2.6-py3-none-any.whl (11 kB)\nDownloading zipp-3.23.1-py3-none-any.whl (10 kB)\nDownloading arrow-1.4.0-py3-none-any.whl (68 kB)\nDownloading beautifulsoup4-4.15.0-py3-none-any.whl (109 kB)\nDownloading cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (4.7 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.7/4.7 MB 93.6 MB/s  0:00:00\nDownloading cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (216 kB)\nDownloading html5lib-1.1-py2.py3-none-any.whl (112 kB)\nDownloading iniconfig-2.1.0-py3-none-any.whl (6.0 kB)\nDownloading lxml-6.1.1-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.3 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 5.3/5.3 MB 122.0 MB/s  0:00:00\nDownloading pycparser-2.23-py3-none-any.whl (118 kB)\nDownloading tzdata-2026.2-py2.py3-none-any.whl (349 kB)\nDownloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)\nInstalling collected packages: webencodings, text-unidecode, resolvelib, paginate, distlib, zipp, watchdog, urllib3, tzdata, typing-extensions, tomli, subprocess-tee, stevedore, soupsieve, six, ruamel.yaml.clib, rpds-py, PyYAML, python-slugify, pygments, pycparser, pluggy, platformdirs, pathspec, nodeenv, netaddr, mock, mkdocs-material-extensions, mergedeep, mdurl, MarkupSafe, lxml, jmespath, iniconfig, importlib-resources, idna, identify, filelock, execnet, dnspython, decorator, coverage, colorama, click, charset_normalizer, chardet, cfgv, certifi, bracex, backrefs, babel, attrs, ansi2txt, ansi2html, yamllint, wcmatch, ruamel.yaml, requests, referencing, pyyaml-env-tag, python-discovery, python-dateutil, markdown-it-py, jinja2, importlib-metadata, html5lib, exceptiongroup, dogpile.cache, click-help-colors, cffi, binaryornot, beautifulsoup4, virtualenv, rich, pytest, mkdocs-get-deps, markdown, jsonschema-specifications, ghp-import, cryptography, arrow, pytest-xdist, pytest-testinfra, pytest-metadata, pytest-cov, pyspelling, pymdown-extensions, pre-commit, mkdocs, jsonschema, enrich, cookiecutter, ansible-core, pytest-html, mkdocs-material, ansible-compat, molecule, mkdocs-pymdownx-material-extras, molecule-plugins\n\nSuccessfully installed MarkupSafe-3.0.3 PyYAML-6.0.3 ansi2html-1.9.2 ansi2txt-0.2.0 ansible-compat-24.10.0 ansible-core-2.15.13 arrow-1.4.0 attrs-26.1.0 babel-2.18.0 backrefs-6.2 beautifulsoup4-4.15.0 binaryornot-0.4.4 bracex-2.6 certifi-2026.5.20 cffi-2.0.0 cfgv-3.4.0 chardet-5.2.0 charset_normalizer-3.4.7 click-8.1.8 click-help-colors-0.9.4 colorama-0.4.6 cookiecutter-2.6.0 coverage-7.10.7 cryptography-49.0.0 decorator-5.3.1 distlib-0.4.3 dnspython-2.7.0 dogpile.cache-1.3.3 enrich-1.2.7 exceptiongroup-1.3.1 execnet-2.1.2 filelock-3.19.1 ghp-import-2.1.0 html5lib-1.1 identify-2.6.15 idna-3.18 importlib-metadata-8.7.1 importlib-resources-5.0.7 iniconfig-2.1.0 jinja2-3.1.6 jmespath-1.0.1 jsonschema-4.25.1 jsonschema-specifications-2025.9.1 lxml-6.1.1 markdown-3.9 markdown-it-py-3.0.0 mdurl-0.1.2 mergedeep-1.3.4 mkdocs-1.6.1 mkdocs-get-deps-0.2.2 mkdocs-material-9.7.6 mkdocs-material-extensions-1.3.1 mkdocs-pymdownx-material-extras-2.6 mock-5.1.0 molecule-5.1.0 molecule-plugins-23.5.0 netaddr-1.3.0 nodeenv-1.10.0 paginate-0.5.7 pathspec-1.1.1 platformdirs-4.4.0 pluggy-1.6.0 pre-commit-4.0.1 pycparser-2.23 pygments-2.20.0 pymdown-extensions-10.21.3 pyspelling-2.10 pytest-8.3.3 pytest-cov-6.0.0 pytest-html-4.1.1 pytest-metadata-3.1.1 pytest-testinfra-10.1.1 pytest-xdist-3.6.1 python-dateutil-2.9.0.post0 python-discovery-1.4.2 python-slugify-8.0.4 pyyaml-env-tag-1.1 referencing-0.36.2 requests-2.32.5 resolvelib-1.0.1 rich-15.0.0 rpds-py-0.27.1 ruamel.yaml-0.18.6 ruamel.yaml.clib-0.2.15 six-1.17.0 soupsieve-2.8.4 stevedore-5.5.0 subprocess-tee-0.4.2 text-unidecode-1.3 tomli-2.4.1 typing-extensions-4.15.0 tzdata-2026.2 urllib3-2.6.3 virtualenv-21.4.3 watchdog-6.0.0 wcmatch-10.1 webencodings-0.5.1 yamllint-1.35.1 zipp-3.23.1\n++ git -C /home/zuul/src/github.com/openstack-k8s-operators/ci-framework rev-parse --short HEAD\n+ GITVER=6a75aee7\n+ [[ '' == \\6\\a\\7\\5\\a\\e\\e\\7 ]]\n+ sed -ri 's/^(version: [0-9.]+).*/\\1+6a75aee7/' /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/galaxy.yml\n+ /home/zuul/test-python/bin/ansible-galaxy collection install --upgrade --force --timeout=120 /home/zuul/src/github.com/openstack-k8s-operators/ci-framework\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible-podman-collections8tcv4_0d'...\nNote: switching to '1.16.2'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 4c84135 Release 1.16.2 version (#873)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.generaldfn9umg8'...\nNote: switching to '10.0.1'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at eb4c01260 Release 10.0.1.\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible.posixlucifj73'...\nNote: switching to '1.6.2'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 31376a3 Merge pull request #583 from saito-hideki/stable-1_v1.6.2\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible.utilsg5rt9d4p'...\nNote: switching to 'v5.1.2'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at e213ad9 Release 5.1.2 (#378)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.libvirtbw5dfsdt'...\nNote: switching to '1.3.0'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 7109cb7 Release 1.3.0 commit\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.cryptol_zzx99j'...\nNote: switching to '2.22.3'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 7adca3ef Release 2.22.3.\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/kubernetes.corejtpn9lbz'...\nNote: switching to '5.0.0'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 7b0190f Prepare release 5.0.0 (#733)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible.netcommonwtdtf4nj'...\nNote: switching to 'v7.1.0'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at d2c5fd0 Prep release 7.1.0 (#666)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible-config_template9c7muktm'...\nNote: switching to '2.1.1'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 931f6aa Bump version for bugfix release\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/junipernetworks.junosttw5fe62'...\nNote: switching to 'v9.1.0'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 27bf936 Prepare minor release 9.1.0 (#529)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/cisco.ios0ss9_ipv'...\nNote: switching to 'v9.0.3'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at a71f345d Release PR 9.0.3 (#1125)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/mellanox.onyxg3uuwhh6'...\nAlready on 'master'\nYour branch is up to date with 'origin/master'.\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.okdrueu16k7'...\nNote: switching to '4.0.0'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 97ed9be Release 4.0.0 (#235)\nCloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ovirt-ansible-collectionnhverz7a'...\nNote: switching to '3.2.0-1'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at ab2e793 ovirt_role: Fix administrative option when set to False\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'cifmw.general:1.0.0+6a75aee7' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general'\nCreated collection for cifmw.general:1.0.0+6a75aee7 at /home/zuul/.ansible/collections/ansible_collections/cifmw/general\ncifmw.general:1.0.0+6a75aee7 was installed successfully\nInstalling 'containers.podman:1.16.2' to '/home/zuul/.ansible/collections/ansible_collections/containers/podman'\nCreated collection for containers.podman:1.16.2 at /home/zuul/.ansible/collections/ansible_collections/containers/podman\ncontainers.podman:1.16.2 was installed successfully\nInstalling 'community.general:10.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:10.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:10.0.1 was installed successfully\nInstalling 'ansible.posix:1.6.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:1.6.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:1.6.2 was installed successfully\nInstalling 'ansible.utils:5.1.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'\nCreated collection for ansible.utils:5.1.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils\nansible.utils:5.1.2 was installed successfully\nInstalling 'community.libvirt:1.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/libvirt'\nCreated collection for community.libvirt:1.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/libvirt\ncommunity.libvirt:1.3.0 was installed successfully\nInstalling 'community.crypto:2.22.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:2.22.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:2.22.3 was installed successfully\nInstalling 'kubernetes.core:5.0.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:5.0.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:5.0.0 was installed successfully\nInstalling 'ansible.netcommon:7.1.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'\nCreated collection for ansible.netcommon:7.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon\nansible.netcommon:7.1.0 was installed successfully\nInstalling 'openstack.config_template:2.1.1' to '/home/zuul/.ansible/collections/ansible_collections/openstack/config_template'\nCreated collection for openstack.config_template:2.1.1 at /home/zuul/.ansible/collections/ansible_collections/openstack/config_template\nopenstack.config_template:2.1.1 was installed successfully\nInstalling 'junipernetworks.junos:9.1.0' to '/home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos'\nCreated collection for junipernetworks.junos:9.1.0 at /home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos\njunipernetworks.junos:9.1.0 was installed successfully\nInstalling 'cisco.ios:9.0.3' to '/home/zuul/.ansible/collections/ansible_collections/cisco/ios'\nCreated collection for cisco.ios:9.0.3 at /home/zuul/.ansible/collections/ansible_collections/cisco/ios\ncisco.ios:9.0.3 was installed successfully\nInstalling 'mellanox.onyx:1.0.0' to '/home/zuul/.ansible/collections/ansible_collections/mellanox/onyx'\nCreated collection for mellanox.onyx:1.0.0 at /home/zuul/.ansible/collections/ansible_collections/mellanox/onyx\nmellanox.onyx:1.0.0 was installed successfully\nInstalling 'community.okd:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/okd'\nCreated collection for community.okd:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/okd\ncommunity.okd:4.0.0 was installed successfully\nInstalling '@NAMESPACE@.@NAME@:3.1.4' to '/home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@'\nCreated collection for @NAMESPACE@.@NAME@:3.1.4 at /home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@\n@NAMESPACE@.@NAME@:3.1.4 was installed successfully\n+ [[ '' == \\6\\a\\7\\5\\a\\e\\e\\7 ]]\n+ sed -ri 's/^(version: [0-9.]+)+6a75aee7/\\1/' /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/galaxy.yml",
                            "stdout_lines": [
                                "bash scripts/setup_env 2>&1 | tee /tmp/setup_env.log",
                                "allexport      \toff",
                                "braceexpand    \ton",
                                "emacs          \toff",
                                "errexit        \ton",
                                "errtrace       \toff",
                                "functrace      \toff",
                                "hashall        \ton",
                                "histexpand     \toff",
                                "history        \toff",
                                "ignoreeof      \toff",
                                "interactive-comments\ton",
                                "keyword        \toff",
                                "monitor        \toff",
                                "noclobber      \toff",
                                "noexec         \toff",
                                "noglob         \toff",
                                "nolog          \toff",
                                "notify         \toff",
                                "nounset        \ton",
                                "onecmd         \toff",
                                "physical       \toff",
                                "pipefail       \ton",
                                "posix          \toff",
                                "privileged     \toff",
                                "verbose        \toff",
                                "vi             \toff",
                                "xtrace         \ton",
                                "++++ readlink -f scripts/setup_env",
                                "+++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/setup_env",
                                "++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts",
                                "+ export PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                "+ PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                "+ export ANSIBLE_SKIP_CONFLICT_CHECK=1",
                                "+ ANSIBLE_SKIP_CONFLICT_CHECK=1",
                                "+ USE_VENV=yes",
                                "+ source /etc/os-release",
                                "++ NAME='CentOS Stream'",
                                "++ VERSION=9",
                                "++ ID=centos",
                                "++ ID_LIKE='rhel fedora'",
                                "++ VERSION_ID=9",
                                "++ PLATFORM_ID=platform:el9",
                                "++ PRETTY_NAME='CentOS Stream 9'",
                                "++ ANSI_COLOR='0;31'",
                                "++ LOGO=fedora-logo-icon",
                                "++ CPE_NAME=cpe:/o:centos:centos:9",
                                "++ HOME_URL=https://centos.org/",
                                "++ BUG_REPORT_URL=https://issues.redhat.com/",
                                "++ REDHAT_SUPPORT_PRODUCT='Red Hat Enterprise Linux 9'",
                                "++ REDHAT_SUPPORT_PRODUCT_VERSION='CentOS Stream'",
                                "++ command -v dnf",
                                "+ RHT_PKG_MGR=/usr/bin/dnf",
                                "++ command -v python3",
                                "+ PYTHON_EXEC=/usr/bin/python3",
                                "++ dirname /usr/bin/python3",
                                "+ SYSTEM_PIP=/usr/bin/pip3",
                                "+ command -v gcc",
                                "/usr/bin/gcc",
                                "+ PIP_INSTALL_ARGUMENTS='-U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt'",
                                "+ case ${USE_VENV} in",
                                "+ PIP=/home/zuul/test-python/bin/pip3",
                                "+ USE_VENV=yes",
                                "+ echo",
                                "",
                                "+ echo",
                                "",
                                "+ echo",
                                "",
                                "+ sudo -k",
                                "+ mkdir -p /home/zuul/ci/yum.repos.d",
                                "+ cp /etc/ci/mirror_info.sh /home/zuul/ci",
                                "+ cp -r '/opt/yum.repos.d/*' /home/zuul/ci/yum.repos.d",
                                "cp: cannot stat '/opt/yum.repos.d/*': No such file or directory",
                                "+ cp -r /etc/yum.repos.d/centos-addons.repo /etc/yum.repos.d/centos.repo /home/zuul/ci/yum.repos.d",
                                "+ case ${USE_VENV} in",
                                "+ :",
                                "+ /usr/bin/python3 -m venv --upgrade-deps /home/zuul/test-python",
                                "Requirement already satisfied: pip in /home/zuul/test-python/lib/python3.9/site-packages (21.3.1)",
                                "Collecting pip",
                                "  Downloading pip-26.0.1-py3-none-any.whl (1.8 MB)",
                                "Requirement already satisfied: setuptools in /home/zuul/test-python/lib/python3.9/site-packages (53.0.0)",
                                "Collecting setuptools",
                                "  Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB)",
                                "Installing collected packages: setuptools, pip",
                                "  Attempting uninstall: setuptools",
                                "    Found existing installation: setuptools 53.0.0",
                                "    Uninstalling setuptools-53.0.0:",
                                "      Successfully uninstalled setuptools-53.0.0",
                                "  Attempting uninstall: pip",
                                "    Found existing installation: pip 21.3.1",
                                "    Uninstalling pip-21.3.1:",
                                "      Successfully uninstalled pip-21.3.1",
                                "Successfully installed pip-26.0.1 setuptools-82.0.1",
                                "+ [[ -d /home/zuul/.cache/pip/wheels ]]",
                                "+ /home/zuul/test-python/bin/pip3 install pip setuptools bindep --upgrade",
                                "Requirement already satisfied: pip in /home/zuul/test-python/lib/python3.9/site-packages (26.0.1)",
                                "Requirement already satisfied: setuptools in /home/zuul/test-python/lib/python3.9/site-packages (82.0.1)",
                                "Collecting bindep",
                                "  Downloading bindep-2.14.0-py3-none-any.whl.metadata (11 kB)",
                                "Collecting distro>=1.7 (from bindep)",
                                "  Downloading distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)",
                                "Collecting packaging (from bindep)",
                                "  Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting Parsley (from bindep)",
                                "  Downloading Parsley-1.3-py2.py3-none-any.whl.metadata (4.1 kB)",
                                "Collecting pbr>=2 (from bindep)",
                                "  Downloading pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB)",
                                "Downloading bindep-2.14.0-py3-none-any.whl (35 kB)",
                                "Downloading distro-1.9.0-py3-none-any.whl (20 kB)",
                                "Downloading pbr-7.0.3-py2.py3-none-any.whl (131 kB)",
                                "Downloading packaging-26.2-py3-none-any.whl (100 kB)",
                                "Downloading Parsley-1.3-py2.py3-none-any.whl (88 kB)",
                                "Installing collected packages: Parsley, pbr, packaging, distro, bindep",
                                "",
                                "Successfully installed Parsley-1.3 bindep-2.14.0 distro-1.9.0 packaging-26.2 pbr-7.0.3",
                                "+ /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/bindep-install",
                                "allexport      \toff",
                                "braceexpand    \ton",
                                "emacs          \toff",
                                "errexit        \ton",
                                "errtrace       \toff",
                                "functrace      \toff",
                                "hashall        \ton",
                                "histexpand     \toff",
                                "history        \toff",
                                "ignoreeof      \toff",
                                "interactive-comments\ton",
                                "keyword        \toff",
                                "monitor        \toff",
                                "noclobber      \toff",
                                "noexec         \toff",
                                "noglob         \toff",
                                "nolog          \toff",
                                "notify         \toff",
                                "nounset        \ton",
                                "onecmd         \toff",
                                "physical       \toff",
                                "pipefail       \ton",
                                "posix          \toff",
                                "privileged     \toff",
                                "verbose        \toff",
                                "vi             \toff",
                                "xtrace         \ton",
                                "+++ readlink -f /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/bindep-install",
                                "++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/bindep-install",
                                "+ export BINDEP_FILE=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/../bindep.txt",
                                "+ BINDEP_FILE=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/../bindep.txt",
                                "+ source /etc/os-release",
                                "++ NAME='CentOS Stream'",
                                "++ VERSION=9",
                                "++ ID=centos",
                                "++ ID_LIKE='rhel fedora'",
                                "++ VERSION_ID=9",
                                "++ PLATFORM_ID=platform:el9",
                                "++ PRETTY_NAME='CentOS Stream 9'",
                                "++ ANSI_COLOR='0;31'",
                                "++ LOGO=fedora-logo-icon",
                                "++ CPE_NAME=cpe:/o:centos:centos:9",
                                "++ HOME_URL=https://centos.org/",
                                "++ BUG_REPORT_URL=https://issues.redhat.com/",
                                "++ REDHAT_SUPPORT_PRODUCT='Red Hat Enterprise Linux 9'",
                                "++ REDHAT_SUPPORT_PRODUCT_VERSION='CentOS Stream'",
                                "++ command -v dnf",
                                "+ RHT_PKG_MGR=/usr/bin/dnf",
                                "+ BINDEP_PKGS=",
                                "+ case ${USE_VENV:-'yes'} in",
                                "++ /home/zuul/test-python/bin/bindep -b -f /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/../bindep.txt test",
                                "++ true",
                                "+ BINDEP_PKGS='python3-jmespath",
                                "python3-libvirt",
                                "python3-lxml",
                                "python3-netaddr'",
                                "+ [[ 61 -gt 0 ]]",
                                "+ case \"${ID,,}\" in",
                                "+ sudo /usr/bin/dnf install -y python3-jmespath python3-libvirt python3-lxml python3-netaddr",
                                "Last metadata expiration check: 0:00:52 ago on Fri 12 Jun 2026 08:19:46 PM UTC.",
                                "Dependencies resolved.",
                                "================================================================================",
                                " Package                Arch        Version                Repository      Size",
                                "================================================================================",
                                "Installing:",
                                " python3-jmespath       noarch      1.0.1-1.el9            appstream       48 k",
                                " python3-libvirt        x86_64      11.10.0-2.el9          appstream      347 k",
                                " python3-lxml           x86_64      4.6.5-3.el9            appstream      1.2 M",
                                " python3-netaddr        noarch      0.10.1-3.el9           appstream      1.5 M",
                                "Installing dependencies:",
                                " cyrus-sasl-gssapi      x86_64      2.1.27-21.el9          baseos          27 k",
                                " libvirt-libs           x86_64      11.10.0-13.el9         appstream      5.5 M",
                                "",
                                "Transaction Summary",
                                "================================================================================",
                                "Install  6 Packages",
                                "",
                                "Total download size: 8.7 M",
                                "Installed size: 45 M",
                                "Downloading Packages:",
                                "(1/6): cyrus-sasl-gssapi-2.1.27-21.el9.x86_64.r 122 kB/s |  27 kB     00:00    ",
                                "(2/6): python3-jmespath-1.0.1-1.el9.noarch.rpm  163 kB/s |  48 kB     00:00    ",
                                "(3/6): python3-libvirt-11.10.0-2.el9.x86_64.rpm 1.6 MB/s | 347 kB     00:00    ",
                                "(4/6): python3-lxml-4.6.5-3.el9.x86_64.rpm      4.6 MB/s | 1.2 MB     00:00    ",
                                "(5/6): libvirt-libs-11.10.0-13.el9.x86_64.rpm   9.0 MB/s | 5.5 MB     00:00    ",
                                "(6/6): python3-netaddr-0.10.1-3.el9.noarch.rpm  7.6 MB/s | 1.5 MB     00:00    ",
                                "--------------------------------------------------------------------------------",
                                "Total                                            10 MB/s | 8.7 MB     00:00     ",
                                "Running transaction check",
                                "Transaction check succeeded.",
                                "Running transaction test",
                                "Transaction test succeeded.",
                                "Running transaction",
                                "  Preparing        :                                                        1/1 ",
                                "  Installing       : cyrus-sasl-gssapi-2.1.27-21.el9.x86_64                 1/6 ",
                                "  Installing       : libvirt-libs-11.10.0-13.el9.x86_64                     2/6 ",
                                "  Installing       : python3-libvirt-11.10.0-2.el9.x86_64                   3/6 ",
                                "  Installing       : python3-netaddr-0.10.1-3.el9.noarch                    4/6 ",
                                "  Installing       : python3-lxml-4.6.5-3.el9.x86_64                        5/6 ",
                                "  Installing       : python3-jmespath-1.0.1-1.el9.noarch                    6/6 ",
                                "  Running scriptlet: python3-jmespath-1.0.1-1.el9.noarch                    6/6 ",
                                "  Verifying        : cyrus-sasl-gssapi-2.1.27-21.el9.x86_64                 1/6 ",
                                "  Verifying        : libvirt-libs-11.10.0-13.el9.x86_64                     2/6 ",
                                "  Verifying        : python3-jmespath-1.0.1-1.el9.noarch                    3/6 ",
                                "  Verifying        : python3-libvirt-11.10.0-2.el9.x86_64                   4/6 ",
                                "  Verifying        : python3-lxml-4.6.5-3.el9.x86_64                        5/6 ",
                                "  Verifying        : python3-netaddr-0.10.1-3.el9.noarch                    6/6 ",
                                "",
                                "Installed:",
                                "  cyrus-sasl-gssapi-2.1.27-21.el9.x86_64  libvirt-libs-11.10.0-13.el9.x86_64   ",
                                "  python3-jmespath-1.0.1-1.el9.noarch     python3-libvirt-11.10.0-2.el9.x86_64 ",
                                "  python3-lxml-4.6.5-3.el9.x86_64         python3-netaddr-0.10.1-3.el9.noarch  ",
                                "",
                                "Complete!",
                                "+ /usr/bin/pip3 install -U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt",
                                "Defaulting to user installation because normal site-packages is not writeable",
                                "Collecting ansible-core==2.15.13",
                                "  Downloading ansible_core-2.15.13-py3-none-any.whl (2.3 MB)",
                                "Collecting oauthlib==3.2.2",
                                "  Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB)",
                                "Collecting kubernetes==35.0.0",
                                "  Downloading kubernetes-35.0.0-py2.py3-none-any.whl (2.0 MB)",
                                "Collecting kubernetes-validate==1.35.0",
                                "  Downloading kubernetes_validate-1.35.0-py3-none-any.whl (18.1 MB)",
                                "Collecting openstacksdk==4.1.0",
                                "  Downloading openstacksdk-4.1.0-py3-none-any.whl (1.7 MB)",
                                "Collecting jsonschema==4.23.0",
                                "  Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)",
                                "Collecting pyOpenSSL==24.2.1",
                                "  Downloading pyOpenSSL-24.2.1-py3-none-any.whl (58 kB)",
                                "Collecting cryptography",
                                "  Downloading cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (4.7 MB)",
                                "Collecting importlib-resources<5.1,>=5.0",
                                "  Downloading importlib_resources-5.0.7-py3-none-any.whl (24 kB)",
                                "Requirement already satisfied: packaging in /usr/lib/python3.9/site-packages (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 1)) (20.9)",
                                "Collecting resolvelib<1.1.0,>=0.5.3",
                                "  Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)",
                                "Collecting jinja2>=3.0.0",
                                "  Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)",
                                "Requirement already satisfied: PyYAML>=5.1 in /usr/lib64/python3.9/site-packages (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 1)) (5.4.1)",
                                "Requirement already satisfied: six>=1.9.0 in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (1.15.0)",
                                "Requirement already satisfied: python-dateutil>=2.5.3 in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (2.9.0.post0)",
                                "Requirement already satisfied: urllib3!=2.6.0,>=1.24.2 in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (1.26.5)",
                                "Collecting certifi>=14.05.14",
                                "  Downloading certifi-2026.5.20-py3-none-any.whl (134 kB)",
                                "Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0",
                                "  Downloading websocket_client-1.9.0-py3-none-any.whl (82 kB)",
                                "Collecting durationpy>=0.7",
                                "  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)",
                                "Requirement already satisfied: requests in /usr/lib/python3.9/site-packages (from kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (2.25.1)",
                                "Collecting requests-oauthlib",
                                "  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)",
                                "Collecting referencing",
                                "  Downloading referencing-0.36.2-py3-none-any.whl (26 kB)",
                                "Collecting typing-extensions",
                                "  Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)",
                                "Collecting keystoneauth1>=3.18.0",
                                "  Downloading keystoneauth1-5.11.1-py3-none-any.whl (344 kB)",
                                "Collecting pbr!=2.1.0,>=2.0.0",
                                "  Downloading pbr-7.0.3-py2.py3-none-any.whl (131 kB)",
                                "Collecting os-service-types>=1.7.0",
                                "  Downloading os_service_types-1.7.0-py2.py3-none-any.whl (24 kB)",
                                "Collecting iso8601>=0.1.11",
                                "  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)",
                                "Requirement already satisfied: jsonpatch!=1.20,>=1.16 in /usr/lib/python3.9/site-packages (from openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (1.21)",
                                "Requirement already satisfied: netifaces>=0.10.4 in /usr/lib64/python3.9/site-packages (from openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (0.10.6)",
                                "Collecting platformdirs>=3",
                                "  Downloading platformdirs-4.4.0-py3-none-any.whl (18 kB)",
                                "Requirement already satisfied: jmespath>=0.9.0 in /usr/lib/python3.9/site-packages (from openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (1.0.1)",
                                "Collecting decorator>=4.4.1",
                                "  Downloading decorator-5.3.1-py3-none-any.whl (10 kB)",
                                "Collecting dogpile.cache>=0.6.5",
                                "  Downloading dogpile_cache-1.4.1-py3-none-any.whl (63 kB)",
                                "Collecting requestsexceptions>=1.2.0",
                                "  Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB)",
                                "Collecting attrs>=22.2.0",
                                "  Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
                                "Collecting rpds-py>=0.7.1",
                                "  Downloading rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384 kB)",
                                "Collecting jsonschema-specifications>=2023.03.6",
                                "  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)",
                                "Collecting cryptography",
                                "  Downloading cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl (4.0 MB)",
                                "Collecting cffi>=1.12",
                                "  Downloading cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (216 kB)",
                                "Collecting stevedore>=3.0.0",
                                "  Downloading stevedore-5.5.0-py3-none-any.whl (49 kB)",
                                "Collecting MarkupSafe>=2.0",
                                "  Downloading markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20 kB)",
                                "Requirement already satisfied: jsonpointer>=1.9 in /usr/lib/python3.9/site-packages (from jsonpatch!=1.20,>=1.16->openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (2.0)",
                                "Requirement already satisfied: setuptools in /usr/lib/python3.9/site-packages (from pbr!=2.1.0,>=2.0.0->openstacksdk==4.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 5)) (53.0.0)",
                                "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/lib/python3.9/site-packages (from requests->kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (4.0.0)",
                                "Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3.9/site-packages (from requests->kubernetes==35.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 3)) (2.10)",
                                "Requirement already satisfied: pyparsing>=2.0.2 in /usr/lib/python3.9/site-packages (from packaging->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/common-requirements.txt (line 1)) (2.4.7)",
                                "Collecting pycparser",
                                "  Downloading pycparser-2.23-py3-none-any.whl (118 kB)",
                                "Installing collected packages: typing-extensions, rpds-py, attrs, referencing, pycparser, pbr, stevedore, os-service-types, oauthlib, MarkupSafe, jsonschema-specifications, iso8601, decorator, cffi, websocket-client, resolvelib, requestsexceptions, requests-oauthlib, platformdirs, keystoneauth1, jsonschema, jinja2, importlib-resources, durationpy, dogpile.cache, cryptography, certifi, pyOpenSSL, openstacksdk, kubernetes-validate, kubernetes, ansible-core",
                                "Successfully installed MarkupSafe-3.0.3 ansible-core-2.15.13 attrs-26.1.0 certifi-2026.5.20 cffi-2.0.0 cryptography-43.0.3 decorator-5.3.1 dogpile.cache-1.4.1 durationpy-0.10 importlib-resources-5.0.7 iso8601-2.1.0 jinja2-3.1.6 jsonschema-4.23.0 jsonschema-specifications-2025.9.1 keystoneauth1-5.11.1 kubernetes-35.0.0 kubernetes-validate-1.35.0 oauthlib-3.2.2 openstacksdk-4.1.0 os-service-types-1.7.0 pbr-7.0.3 platformdirs-4.4.0 pyOpenSSL-24.2.1 pycparser-2.23 referencing-0.36.2 requests-oauthlib-2.0.0 requestsexceptions-1.4.0 resolvelib-1.0.1 rpds-py-0.27.1 stevedore-5.5.0 typing-extensions-4.15.0 websocket-client-1.9.0",
                                "+ /usr/bin/pip3 freeze",
                                "ansible-core==2.15.13",
                                "attrs==26.1.0",
                                "Babel==2.9.1",
                                "certifi==2026.5.20",
                                "cffi==2.0.0",
                                "chardet==4.0.0",
                                "cloud-init==24.4",
                                "cockpit @ file:///builddir/build/BUILD/cockpit-363.2/tmp/wheel/cockpit-363.2-py3-none-any.whl",
                                "configobj==5.0.6",
                                "cryptography==43.0.3",
                                "dasbus==1.7",
                                "dbus-python==1.2.18",
                                "decorator==5.3.1",
                                "distro==1.5.0",
                                "dogpile.cache==1.4.1",
                                "durationpy==0.10",
                                "file-magic==0.4.0",
                                "gpg==1.15.1",
                                "idna==2.10",
                                "importlib-resources==5.0.7",
                                "iso8601==2.1.0",
                                "Jinja2==3.1.6",
                                "jmespath==1.0.1",
                                "jsonpatch==1.21",
                                "jsonpointer==2.0",
                                "jsonschema==4.23.0",
                                "jsonschema-specifications==2025.9.1",
                                "keystoneauth1==5.11.1",
                                "kubernetes==35.0.0",
                                "kubernetes-validate==1.35.0",
                                "libcomps==0.1.18",
                                "libvirt-python==11.10.0",
                                "lxml==4.6.5",
                                "MarkupSafe==3.0.3",
                                "netaddr==0.10.1",
                                "netifaces==0.10.6",
                                "oauthlib==3.2.2",
                                "openstacksdk==4.1.0",
                                "os-service-types==1.7.0",
                                "packaging==20.9",
                                "pbr==7.0.3",
                                "pexpect==4.8.0",
                                "platformdirs==4.4.0",
                                "prettytable==0.7.2",
                                "ptyprocess==0.6.0",
                                "pycparser==2.23",
                                "pyenchant==3.2.0",
                                "PyGObject==3.40.1",
                                "pyOpenSSL==24.2.1",
                                "pyparsing==2.4.7",
                                "pyrsistent==0.17.3",
                                "pyserial==3.4",
                                "PySocks==1.7.1",
                                "python-dateutil==2.9.0.post0",
                                "pytz==2021.1",
                                "PyYAML==5.4.1",
                                "referencing==0.36.2",
                                "requests==2.25.1",
                                "requests-oauthlib==2.0.0",
                                "requestsexceptions==1.4.0",
                                "resolvelib==1.0.1",
                                "rpds-py==0.27.1",
                                "rpm==4.16.1.3",
                                "selinux==3.6",
                                "sepolicy==3.6",
                                "setools==4.4.4",
                                "setroubleshoot @ file:///builddir/build/BUILD/setroubleshoot-3.3.35/src",
                                "six==1.15.0",
                                "sos==4.11.0",
                                "stevedore==5.5.0",
                                "systemd-python==234",
                                "typing_extensions==4.15.0",
                                "urllib3==1.26.5",
                                "websocket-client==1.9.0",
                                "+ /home/zuul/test-python/bin/pip3 freeze",
                                "bindep==2.14.0",
                                "distro==1.9.0",
                                "packaging==26.2",
                                "Parsley==1.3",
                                "pbr==7.0.3",
                                "bash scripts/setup_molecule 2>&1 | tee /tmp/setup_molecule.log",
                                "allexport      \toff",
                                "braceexpand    \ton",
                                "emacs          \toff",
                                "errexit        \ton",
                                "errtrace       \toff",
                                "functrace      \toff",
                                "hashall        \ton",
                                "histexpand     \toff",
                                "history        \toff",
                                "ignoreeof      \toff",
                                "interactive-comments\ton",
                                "keyword        \toff",
                                "monitor        \toff",
                                "noclobber      \toff",
                                "noexec         \toff",
                                "noglob         \toff",
                                "nolog          \toff",
                                "notify         \toff",
                                "nounset        \ton",
                                "onecmd         \toff",
                                "physical       \toff",
                                "pipefail       \ton",
                                "posix          \toff",
                                "privileged     \toff",
                                "verbose        \toff",
                                "vi             \toff",
                                "xtrace         \ton",
                                "++++ readlink -f scripts/setup_molecule",
                                "+++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts/setup_molecule",
                                "++ dirname /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/scripts",
                                "+ export PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                "+ PROJECT_DIR=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                "+ export ANSIBLE_SKIP_CONFLICT_CHECK=1",
                                "+ ANSIBLE_SKIP_CONFLICT_CHECK=1",
                                "+ PIP_INSTALL_ARGUMENTS='-U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt'",
                                "+ case ${USE_VENV-'yes'} in",
                                "+ GALAXY=/home/zuul/test-python/bin/ansible-galaxy",
                                "+ PIP=/home/zuul/test-python/bin/pip3",
                                "+ /home/zuul/test-python/bin/pip3 install -U -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt",
                                "Collecting ansible-core==2.15.13 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading ansible_core-2.15.13-py3-none-any.whl.metadata (7.0 kB)",
                                "Collecting molecule==5.1.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading molecule-5.1.0-py3-none-any.whl.metadata (7.8 kB)",
                                "Collecting molecule-plugins==23.5.0 (from molecule-plugins[podman]==23.5.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 5))",
                                "  Downloading molecule_plugins-23.5.0-py3-none-any.whl.metadata (2.9 kB)",
                                "Collecting ruamel.yaml==0.18.6 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 6))",
                                "  Downloading ruamel.yaml-0.18.6-py3-none-any.whl.metadata (23 kB)",
                                "Collecting ansi2html==1.9.2 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 7))",
                                "  Downloading ansi2html-1.9.2-py3-none-any.whl.metadata (3.7 kB)",
                                "Collecting dogpile.cache==1.3.3 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))",
                                "  Downloading dogpile.cache-1.3.3-py3-none-any.whl.metadata (5.2 kB)",
                                "Collecting jmespath==1.0.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 9))",
                                "  Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)",
                                "Collecting netaddr==1.3.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 10))",
                                "  Downloading netaddr-1.3.0-py3-none-any.whl.metadata (5.0 kB)",
                                "Collecting dnspython==2.7.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 11))",
                                "  Downloading dnspython-2.7.0-py3-none-any.whl.metadata (5.8 kB)",
                                "Collecting pytest==8.3.3 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))",
                                "  Downloading pytest-8.3.3-py3-none-any.whl.metadata (7.5 kB)",
                                "Collecting pytest-cov==6.0.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 15))",
                                "  Downloading pytest_cov-6.0.0-py3-none-any.whl.metadata (27 kB)",
                                "Collecting pytest-html==4.1.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 16))",
                                "  Downloading pytest_html-4.1.1-py3-none-any.whl.metadata (3.9 kB)",
                                "Collecting pytest-testinfra==10.1.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 17))",
                                "  Downloading pytest_testinfra-10.1.1-py3-none-any.whl.metadata (3.7 kB)",
                                "Collecting pytest-xdist==3.6.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 18))",
                                "  Downloading pytest_xdist-3.6.1-py3-none-any.whl.metadata (4.3 kB)",
                                "Collecting mock==5.1.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 19))",
                                "  Downloading mock-5.1.0-py3-none-any.whl.metadata (3.0 kB)",
                                "Collecting pre-commit==4.0.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading pre_commit-4.0.1-py2.py3-none-any.whl.metadata (1.3 kB)",
                                "Collecting yamllint==1.35.1 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 23))",
                                "  Downloading yamllint-1.35.1-py3-none-any.whl.metadata (4.2 kB)",
                                "Collecting pyspelling==2.10 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading pyspelling-2.10-py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting mkdocs-pymdownx-material-extras==2.6 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading mkdocs_pymdownx_material_extras-2.6-py3-none-any.whl.metadata (5.3 kB)",
                                "Collecting ansi2txt==0.2.0 (from -r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 28))",
                                "  Downloading ansi2txt-0.2.0-py3-none-any.whl.metadata (2.1 kB)",
                                "Collecting jinja2>=3.0.0 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)",
                                "Collecting PyYAML>=5.1 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)",
                                "Collecting cryptography (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (4.3 kB)",
                                "Requirement already satisfied: packaging in /home/zuul/test-python/lib/python3.9/site-packages (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1)) (26.2)",
                                "Collecting resolvelib<1.1.0,>=0.5.3 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading resolvelib-1.0.1-py2.py3-none-any.whl.metadata (4.0 kB)",
                                "Collecting importlib-resources<5.1,>=5.0 (from ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading importlib_resources-5.0.7-py3-none-any.whl.metadata (2.8 kB)",
                                "Collecting ansible-compat>=4.1.2 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading ansible_compat-24.10.0-py3-none-any.whl.metadata (4.0 kB)",
                                "Collecting click<9,>=8.0 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)",
                                "Collecting click-help-colors>=0.9 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading click_help_colors-0.9.4-py3-none-any.whl.metadata (4.1 kB)",
                                "Collecting cookiecutter>=1.7.3 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading cookiecutter-2.6.0-py3-none-any.whl.metadata (7.3 kB)",
                                "Collecting enrich>=1.2.7 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading enrich-1.2.7-py3-none-any.whl.metadata (3.9 kB)",
                                "Collecting jsonschema>=4.9.1 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading jsonschema-4.25.1-py3-none-any.whl.metadata (7.6 kB)",
                                "Collecting pluggy<2.0,>=0.7.1 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting rich>=9.5.1 (from molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading rich-15.0.0-py3-none-any.whl.metadata (18 kB)",
                                "Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml==0.18.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 6))",
                                "  Downloading ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (3.5 kB)",
                                "Collecting decorator>=4.0.0 (from dogpile.cache==1.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))",
                                "  Downloading decorator-5.3.1-py3-none-any.whl.metadata (3.9 kB)",
                                "Collecting stevedore>=3.0.0 (from dogpile.cache==1.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))",
                                "  Downloading stevedore-5.5.0-py3-none-any.whl.metadata (2.2 kB)",
                                "Collecting typing-extensions>=4.0.1 (from dogpile.cache==1.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 8))",
                                "  Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)",
                                "Collecting iniconfig (from pytest==8.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))",
                                "  Downloading iniconfig-2.1.0-py3-none-any.whl.metadata (2.7 kB)",
                                "Collecting exceptiongroup>=1.0.0rc8 (from pytest==8.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))",
                                "  Downloading exceptiongroup-1.3.1-py3-none-any.whl.metadata (6.7 kB)",
                                "Collecting tomli>=1 (from pytest==8.3.3->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 14))",
                                "  Downloading tomli-2.4.1-py3-none-any.whl.metadata (10 kB)",
                                "Collecting coverage>=7.5 (from coverage[toml]>=7.5->pytest-cov==6.0.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 15))",
                                "  Downloading coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (8.9 kB)",
                                "Collecting pytest-metadata>=2.0.0 (from pytest-html==4.1.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 16))",
                                "  Downloading pytest_metadata-3.1.1-py3-none-any.whl.metadata (8.6 kB)",
                                "Collecting execnet>=2.1 (from pytest-xdist==3.6.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 18))",
                                "  Downloading execnet-2.1.2-py3-none-any.whl.metadata (2.9 kB)",
                                "Collecting cfgv>=2.0.0 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB)",
                                "Collecting identify>=1.0.0 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading identify-2.6.15-py2.py3-none-any.whl.metadata (4.4 kB)",
                                "Collecting nodeenv>=0.11.1 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading nodeenv-1.10.0-py2.py3-none-any.whl.metadata (24 kB)",
                                "Collecting virtualenv>=20.10.0 (from pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading virtualenv-21.4.3-py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting pathspec>=0.5.3 (from yamllint==1.35.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 23))",
                                "  Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)",
                                "Collecting beautifulsoup4 (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting html5lib (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB)",
                                "Collecting lxml (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading lxml-6.1.1-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.5 kB)",
                                "Collecting markdown (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading markdown-3.9-py3-none-any.whl.metadata (5.1 kB)",
                                "Collecting soupsieve>=1.8 (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading soupsieve-2.8.4-py3-none-any.whl.metadata (4.6 kB)",
                                "Collecting wcmatch>=8.5 (from pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading wcmatch-10.1-py3-none-any.whl.metadata (5.1 kB)",
                                "Collecting mkdocs-material>=8.3.3 (from mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading mkdocs_material-9.7.6-py3-none-any.whl.metadata (19 kB)",
                                "Collecting subprocess-tee>=0.4.1 (from ansible-compat>=4.1.2->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading subprocess_tee-0.4.2-py3-none-any.whl.metadata (3.3 kB)",
                                "Collecting binaryornot>=0.4.4 (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading binaryornot-0.4.4-py2.py3-none-any.whl.metadata (6.0 kB)",
                                "Collecting python-slugify>=4.0.0 (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading python_slugify-8.0.4-py2.py3-none-any.whl.metadata (8.5 kB)",
                                "Collecting requests>=2.23.0 (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)",
                                "Collecting arrow (from cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading arrow-1.4.0-py3-none-any.whl.metadata (7.7 kB)",
                                "Collecting MarkupSafe>=2.0 (from jinja2>=3.0.0->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)",
                                "Collecting chardet>=3.0.2 (from binaryornot>=0.4.4->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB)",
                                "Collecting attrs>=22.2.0 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
                                "Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)",
                                "Collecting referencing>=0.28.4 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading referencing-0.36.2-py3-none-any.whl.metadata (2.8 kB)",
                                "Collecting rpds-py>=0.7.1 (from jsonschema>=4.9.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)",
                                "Collecting babel>=2.10 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)",
                                "Collecting backrefs>=5.7.post1 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading backrefs-6.2-py39-none-any.whl.metadata (3.0 kB)",
                                "Collecting colorama>=0.4 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)",
                                "Collecting mkdocs-material-extensions>=1.3 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading mkdocs_material_extensions-1.3.1-py3-none-any.whl.metadata (6.9 kB)",
                                "Collecting mkdocs<2,>=1.6 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading mkdocs-1.6.1-py3-none-any.whl.metadata (6.0 kB)",
                                "Collecting paginate>=0.5 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading paginate-0.5.7-py2.py3-none-any.whl.metadata (11 kB)",
                                "Collecting pygments>=2.16 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting pymdown-extensions>=10.2 (from mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading pymdown_extensions-10.21.3-py3-none-any.whl.metadata (3.1 kB)",
                                "Collecting ghp-import>=1.0 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading ghp_import-2.1.0-py3-none-any.whl.metadata (7.2 kB)",
                                "Collecting importlib-metadata>=4.4 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading importlib_metadata-8.7.1-py3-none-any.whl.metadata (4.7 kB)",
                                "Collecting mergedeep>=1.3.4 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading mergedeep-1.3.4-py3-none-any.whl.metadata (4.3 kB)",
                                "Collecting mkdocs-get-deps>=0.2.0 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading mkdocs_get_deps-0.2.2-py3-none-any.whl.metadata (4.0 kB)",
                                "Collecting pyyaml-env-tag>=0.1 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading pyyaml_env_tag-1.1-py3-none-any.whl.metadata (5.5 kB)",
                                "Collecting watchdog>=2.0 (from mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl.metadata (44 kB)",
                                "Collecting python-dateutil>=2.8.1 (from ghp-import>=1.0->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)",
                                "Collecting zipp>=3.20 (from importlib-metadata>=4.4->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading zipp-3.23.1-py3-none-any.whl.metadata (3.6 kB)",
                                "Collecting platformdirs>=2.2.0 (from mkdocs-get-deps>=0.2.0->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading platformdirs-4.4.0-py3-none-any.whl.metadata (12 kB)",
                                "Collecting six>=1.5 (from python-dateutil>=2.8.1->ghp-import>=1.0->mkdocs<2,>=1.6->mkdocs-material>=8.3.3->mkdocs-pymdownx-material-extras==2.6->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 25))",
                                "  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)",
                                "Collecting text-unidecode>=1.3 (from python-slugify>=4.0.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)",
                                "Collecting charset_normalizer<4,>=2 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)",
                                "Collecting idna<4,>=2.5 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)",
                                "Collecting urllib3<3,>=1.21.1 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB)",
                                "Collecting certifi>=2017.4.17 (from requests>=2.23.0->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting markdown-it-py>=2.2.0 (from rich>=9.5.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)",
                                "Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=9.5.1->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)",
                                "Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading distlib-0.4.3-py2.py3-none-any.whl.metadata (5.3 kB)",
                                "Collecting filelock<=3.19.1,>=3.16.1 (from virtualenv>=20.10.0->pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading filelock-3.19.1-py3-none-any.whl.metadata (2.1 kB)",
                                "Collecting python-discovery>=1.4.2 (from virtualenv>=20.10.0->pre-commit==4.0.1->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 22))",
                                "  Downloading python_discovery-1.4.2-py3-none-any.whl.metadata (5.6 kB)",
                                "Collecting bracex>=2.1.1 (from wcmatch>=8.5->pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading bracex-2.6-py3-none-any.whl.metadata (3.6 kB)",
                                "Collecting tzdata (from arrow->cookiecutter>=1.7.3->molecule==5.1.0->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 4))",
                                "  Downloading tzdata-2026.2-py2.py3-none-any.whl.metadata (1.4 kB)",
                                "Collecting cffi>=2.0.0 (from cryptography->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)",
                                "Collecting pycparser (from cffi>=2.0.0->cryptography->ansible-core==2.15.13->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 1))",
                                "  Downloading pycparser-2.23-py3-none-any.whl.metadata (993 bytes)",
                                "Collecting webencodings (from html5lib->pyspelling==2.10->-r /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/test-requirements.txt (line 24))",
                                "  Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB)",
                                "Downloading ansible_core-2.15.13-py3-none-any.whl (2.3 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 22.0 MB/s  0:00:00",
                                "Downloading molecule-5.1.0-py3-none-any.whl (240 kB)",
                                "Downloading molecule_plugins-23.5.0-py3-none-any.whl (68 kB)",
                                "Downloading ruamel.yaml-0.18.6-py3-none-any.whl (117 kB)",
                                "Downloading ansi2html-1.9.2-py3-none-any.whl (17 kB)",
                                "Downloading dogpile.cache-1.3.3-py3-none-any.whl (58 kB)",
                                "Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)",
                                "Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 71.8 MB/s  0:00:00",
                                "Downloading dnspython-2.7.0-py3-none-any.whl (313 kB)",
                                "Downloading pytest-8.3.3-py3-none-any.whl (342 kB)",
                                "Downloading pytest_cov-6.0.0-py3-none-any.whl (22 kB)",
                                "Downloading pytest_html-4.1.1-py3-none-any.whl (23 kB)",
                                "Downloading pytest_testinfra-10.1.1-py3-none-any.whl (76 kB)",
                                "Downloading pytest_xdist-3.6.1-py3-none-any.whl (46 kB)",
                                "Downloading mock-5.1.0-py3-none-any.whl (30 kB)",
                                "Downloading pre_commit-4.0.1-py2.py3-none-any.whl (218 kB)",
                                "Downloading yamllint-1.35.1-py3-none-any.whl (66 kB)",
                                "Downloading pyspelling-2.10-py3-none-any.whl (45 kB)",
                                "Downloading mkdocs_pymdownx_material_extras-2.6-py3-none-any.whl (27 kB)",
                                "Downloading ansi2txt-0.2.0-py3-none-any.whl (14 kB)",
                                "Downloading click-8.1.8-py3-none-any.whl (98 kB)",
                                "Downloading importlib_resources-5.0.7-py3-none-any.whl (24 kB)",
                                "Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)",
                                "Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)",
                                "Downloading ansible_compat-24.10.0-py3-none-any.whl (24 kB)",
                                "Downloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)",
                                "Downloading click_help_colors-0.9.4-py3-none-any.whl (6.4 kB)",
                                "Downloading cookiecutter-2.6.0-py3-none-any.whl (39 kB)",
                                "Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)",
                                "Downloading binaryornot-0.4.4-py2.py3-none-any.whl (9.0 kB)",
                                "Downloading chardet-5.2.0-py3-none-any.whl (199 kB)",
                                "Downloading coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (246 kB)",
                                "Downloading decorator-5.3.1-py3-none-any.whl (10 kB)",
                                "Downloading enrich-1.2.7-py3-none-any.whl (8.7 kB)",
                                "Downloading exceptiongroup-1.3.1-py3-none-any.whl (16 kB)",
                                "Downloading execnet-2.1.2-py3-none-any.whl (40 kB)",
                                "Downloading identify-2.6.15-py2.py3-none-any.whl (99 kB)",
                                "Downloading jsonschema-4.25.1-py3-none-any.whl (90 kB)",
                                "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
                                "Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)",
                                "Downloading markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20 kB)",
                                "Downloading mkdocs_material-9.7.6-py3-none-any.whl (9.3 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 9.3/9.3 MB 108.0 MB/s  0:00:00",
                                "Downloading mkdocs-1.6.1-py3-none-any.whl (3.9 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 3.9/3.9 MB 108.1 MB/s  0:00:00",
                                "Downloading babel-2.18.0-py3-none-any.whl (10.2 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 10.2/10.2 MB 93.0 MB/s  0:00:00",
                                "Downloading backrefs-6.2-py39-none-any.whl (381 kB)",
                                "Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)",
                                "Downloading ghp_import-2.1.0-py3-none-any.whl (11 kB)",
                                "Downloading importlib_metadata-8.7.1-py3-none-any.whl (27 kB)",
                                "Downloading markdown-3.9-py3-none-any.whl (107 kB)",
                                "Downloading mergedeep-1.3.4-py3-none-any.whl (6.4 kB)",
                                "Downloading mkdocs_get_deps-0.2.2-py3-none-any.whl (9.6 kB)",
                                "Downloading mkdocs_material_extensions-1.3.1-py3-none-any.whl (8.7 kB)",
                                "Downloading nodeenv-1.10.0-py2.py3-none-any.whl (23 kB)",
                                "Downloading paginate-0.5.7-py2.py3-none-any.whl (13 kB)",
                                "Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)",
                                "Downloading platformdirs-4.4.0-py3-none-any.whl (18 kB)",
                                "Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 85.6 MB/s  0:00:00",
                                "Downloading pymdown_extensions-10.21.3-py3-none-any.whl (269 kB)",
                                "Downloading pytest_metadata-3.1.1-py3-none-any.whl (11 kB)",
                                "Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)",
                                "Downloading python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)",
                                "Downloading pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (750 kB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 750.8/750.8 kB 28.3 MB/s  0:00:00",
                                "Downloading pyyaml_env_tag-1.1-py3-none-any.whl (4.7 kB)",
                                "Downloading referencing-0.36.2-py3-none-any.whl (26 kB)",
                                "Downloading requests-2.32.5-py3-none-any.whl (64 kB)",
                                "Downloading charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (208 kB)",
                                "Downloading idna-3.18-py3-none-any.whl (65 kB)",
                                "Downloading urllib3-2.6.3-py3-none-any.whl (131 kB)",
                                "Downloading certifi-2026.5.20-py3-none-any.whl (134 kB)",
                                "Downloading rich-15.0.0-py3-none-any.whl (310 kB)",
                                "Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)",
                                "Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)",
                                "Downloading rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384 kB)",
                                "Downloading ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (734 kB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 734.1/734.1 kB 24.0 MB/s  0:00:00",
                                "Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
                                "Downloading soupsieve-2.8.4-py3-none-any.whl (37 kB)",
                                "Downloading stevedore-5.5.0-py3-none-any.whl (49 kB)",
                                "Downloading subprocess_tee-0.4.2-py3-none-any.whl (5.2 kB)",
                                "Downloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)",
                                "Downloading tomli-2.4.1-py3-none-any.whl (14 kB)",
                                "Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)",
                                "Downloading virtualenv-21.4.3-py3-none-any.whl (7.6 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 7.6/7.6 MB 78.9 MB/s  0:00:00",
                                "Downloading distlib-0.4.3-py2.py3-none-any.whl (470 kB)",
                                "Downloading filelock-3.19.1-py3-none-any.whl (15 kB)",
                                "Downloading python_discovery-1.4.2-py3-none-any.whl (33 kB)",
                                "Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl (79 kB)",
                                "Downloading wcmatch-10.1-py3-none-any.whl (39 kB)",
                                "Downloading bracex-2.6-py3-none-any.whl (11 kB)",
                                "Downloading zipp-3.23.1-py3-none-any.whl (10 kB)",
                                "Downloading arrow-1.4.0-py3-none-any.whl (68 kB)",
                                "Downloading beautifulsoup4-4.15.0-py3-none-any.whl (109 kB)",
                                "Downloading cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (4.7 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.7/4.7 MB 93.6 MB/s  0:00:00",
                                "Downloading cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (216 kB)",
                                "Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)",
                                "Downloading iniconfig-2.1.0-py3-none-any.whl (6.0 kB)",
                                "Downloading lxml-6.1.1-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.3 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 5.3/5.3 MB 122.0 MB/s  0:00:00",
                                "Downloading pycparser-2.23-py3-none-any.whl (118 kB)",
                                "Downloading tzdata-2026.2-py2.py3-none-any.whl (349 kB)",
                                "Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)",
                                "Installing collected packages: webencodings, text-unidecode, resolvelib, paginate, distlib, zipp, watchdog, urllib3, tzdata, typing-extensions, tomli, subprocess-tee, stevedore, soupsieve, six, ruamel.yaml.clib, rpds-py, PyYAML, python-slugify, pygments, pycparser, pluggy, platformdirs, pathspec, nodeenv, netaddr, mock, mkdocs-material-extensions, mergedeep, mdurl, MarkupSafe, lxml, jmespath, iniconfig, importlib-resources, idna, identify, filelock, execnet, dnspython, decorator, coverage, colorama, click, charset_normalizer, chardet, cfgv, certifi, bracex, backrefs, babel, attrs, ansi2txt, ansi2html, yamllint, wcmatch, ruamel.yaml, requests, referencing, pyyaml-env-tag, python-discovery, python-dateutil, markdown-it-py, jinja2, importlib-metadata, html5lib, exceptiongroup, dogpile.cache, click-help-colors, cffi, binaryornot, beautifulsoup4, virtualenv, rich, pytest, mkdocs-get-deps, markdown, jsonschema-specifications, ghp-import, cryptography, arrow, pytest-xdist, pytest-testinfra, pytest-metadata, pytest-cov, pyspelling, pymdown-extensions, pre-commit, mkdocs, jsonschema, enrich, cookiecutter, ansible-core, pytest-html, mkdocs-material, ansible-compat, molecule, mkdocs-pymdownx-material-extras, molecule-plugins",
                                "",
                                "Successfully installed MarkupSafe-3.0.3 PyYAML-6.0.3 ansi2html-1.9.2 ansi2txt-0.2.0 ansible-compat-24.10.0 ansible-core-2.15.13 arrow-1.4.0 attrs-26.1.0 babel-2.18.0 backrefs-6.2 beautifulsoup4-4.15.0 binaryornot-0.4.4 bracex-2.6 certifi-2026.5.20 cffi-2.0.0 cfgv-3.4.0 chardet-5.2.0 charset_normalizer-3.4.7 click-8.1.8 click-help-colors-0.9.4 colorama-0.4.6 cookiecutter-2.6.0 coverage-7.10.7 cryptography-49.0.0 decorator-5.3.1 distlib-0.4.3 dnspython-2.7.0 dogpile.cache-1.3.3 enrich-1.2.7 exceptiongroup-1.3.1 execnet-2.1.2 filelock-3.19.1 ghp-import-2.1.0 html5lib-1.1 identify-2.6.15 idna-3.18 importlib-metadata-8.7.1 importlib-resources-5.0.7 iniconfig-2.1.0 jinja2-3.1.6 jmespath-1.0.1 jsonschema-4.25.1 jsonschema-specifications-2025.9.1 lxml-6.1.1 markdown-3.9 markdown-it-py-3.0.0 mdurl-0.1.2 mergedeep-1.3.4 mkdocs-1.6.1 mkdocs-get-deps-0.2.2 mkdocs-material-9.7.6 mkdocs-material-extensions-1.3.1 mkdocs-pymdownx-material-extras-2.6 mock-5.1.0 molecule-5.1.0 molecule-plugins-23.5.0 netaddr-1.3.0 nodeenv-1.10.0 paginate-0.5.7 pathspec-1.1.1 platformdirs-4.4.0 pluggy-1.6.0 pre-commit-4.0.1 pycparser-2.23 pygments-2.20.0 pymdown-extensions-10.21.3 pyspelling-2.10 pytest-8.3.3 pytest-cov-6.0.0 pytest-html-4.1.1 pytest-metadata-3.1.1 pytest-testinfra-10.1.1 pytest-xdist-3.6.1 python-dateutil-2.9.0.post0 python-discovery-1.4.2 python-slugify-8.0.4 pyyaml-env-tag-1.1 referencing-0.36.2 requests-2.32.5 resolvelib-1.0.1 rich-15.0.0 rpds-py-0.27.1 ruamel.yaml-0.18.6 ruamel.yaml.clib-0.2.15 six-1.17.0 soupsieve-2.8.4 stevedore-5.5.0 subprocess-tee-0.4.2 text-unidecode-1.3 tomli-2.4.1 typing-extensions-4.15.0 tzdata-2026.2 urllib3-2.6.3 virtualenv-21.4.3 watchdog-6.0.0 wcmatch-10.1 webencodings-0.5.1 yamllint-1.35.1 zipp-3.23.1",
                                "++ git -C /home/zuul/src/github.com/openstack-k8s-operators/ci-framework rev-parse --short HEAD",
                                "+ GITVER=6a75aee7",
                                "+ [[ '' == \\6\\a\\7\\5\\a\\e\\e\\7 ]]",
                                "+ sed -ri 's/^(version: [0-9.]+).*/\\1+6a75aee7/' /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/galaxy.yml",
                                "+ /home/zuul/test-python/bin/ansible-galaxy collection install --upgrade --force --timeout=120 /home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible-podman-collections8tcv4_0d'...",
                                "Note: switching to '1.16.2'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 4c84135 Release 1.16.2 version (#873)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.generaldfn9umg8'...",
                                "Note: switching to '10.0.1'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at eb4c01260 Release 10.0.1.",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible.posixlucifj73'...",
                                "Note: switching to '1.6.2'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 31376a3 Merge pull request #583 from saito-hideki/stable-1_v1.6.2",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible.utilsg5rt9d4p'...",
                                "Note: switching to 'v5.1.2'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at e213ad9 Release 5.1.2 (#378)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.libvirtbw5dfsdt'...",
                                "Note: switching to '1.3.0'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 7109cb7 Release 1.3.0 commit",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.cryptol_zzx99j'...",
                                "Note: switching to '2.22.3'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 7adca3ef Release 2.22.3.",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/kubernetes.corejtpn9lbz'...",
                                "Note: switching to '5.0.0'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 7b0190f Prepare release 5.0.0 (#733)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible.netcommonwtdtf4nj'...",
                                "Note: switching to 'v7.1.0'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at d2c5fd0 Prep release 7.1.0 (#666)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ansible-config_template9c7muktm'...",
                                "Note: switching to '2.1.1'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 931f6aa Bump version for bugfix release",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/junipernetworks.junosttw5fe62'...",
                                "Note: switching to 'v9.1.0'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 27bf936 Prepare minor release 9.1.0 (#529)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/cisco.ios0ss9_ipv'...",
                                "Note: switching to 'v9.0.3'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at a71f345d Release PR 9.0.3 (#1125)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/mellanox.onyxg3uuwhh6'...",
                                "Already on 'master'",
                                "Your branch is up to date with 'origin/master'.",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/community.okdrueu16k7'...",
                                "Note: switching to '4.0.0'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at 97ed9be Release 4.0.0 (#235)",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-29043x2kazbpx/tmpd6ivkkq5/ovirt-ansible-collectionnhverz7a'...",
                                "Note: switching to '3.2.0-1'.",
                                "",
                                "You are in 'detached HEAD' state. You can look around, make experimental",
                                "changes and commit them, and you can discard any commits you make in this",
                                "state without impacting any branches by switching back to a branch.",
                                "",
                                "If you want to create a new branch to retain commits you create, you may",
                                "do so (now or later) by using -c with the switch command. Example:",
                                "",
                                "  git switch -c <new-branch-name>",
                                "",
                                "Or undo this operation with:",
                                "",
                                "  git switch -",
                                "",
                                "Turn off this advice by setting config variable advice.detachedHead to false",
                                "",
                                "HEAD is now at ab2e793 ovirt_role: Fix administrative option when set to False",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'cifmw.general:1.0.0+6a75aee7' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general'",
                                "Created collection for cifmw.general:1.0.0+6a75aee7 at /home/zuul/.ansible/collections/ansible_collections/cifmw/general",
                                "cifmw.general:1.0.0+6a75aee7 was installed successfully",
                                "Installing 'containers.podman:1.16.2' to '/home/zuul/.ansible/collections/ansible_collections/containers/podman'",
                                "Created collection for containers.podman:1.16.2 at /home/zuul/.ansible/collections/ansible_collections/containers/podman",
                                "containers.podman:1.16.2 was installed successfully",
                                "Installing 'community.general:10.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:10.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:10.0.1 was installed successfully",
                                "Installing 'ansible.posix:1.6.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:1.6.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:1.6.2 was installed successfully",
                                "Installing 'ansible.utils:5.1.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'",
                                "Created collection for ansible.utils:5.1.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils",
                                "ansible.utils:5.1.2 was installed successfully",
                                "Installing 'community.libvirt:1.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/libvirt'",
                                "Created collection for community.libvirt:1.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/libvirt",
                                "community.libvirt:1.3.0 was installed successfully",
                                "Installing 'community.crypto:2.22.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:2.22.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:2.22.3 was installed successfully",
                                "Installing 'kubernetes.core:5.0.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:5.0.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:5.0.0 was installed successfully",
                                "Installing 'ansible.netcommon:7.1.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'",
                                "Created collection for ansible.netcommon:7.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon",
                                "ansible.netcommon:7.1.0 was installed successfully",
                                "Installing 'openstack.config_template:2.1.1' to '/home/zuul/.ansible/collections/ansible_collections/openstack/config_template'",
                                "Created collection for openstack.config_template:2.1.1 at /home/zuul/.ansible/collections/ansible_collections/openstack/config_template",
                                "openstack.config_template:2.1.1 was installed successfully",
                                "Installing 'junipernetworks.junos:9.1.0' to '/home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos'",
                                "Created collection for junipernetworks.junos:9.1.0 at /home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos",
                                "junipernetworks.junos:9.1.0 was installed successfully",
                                "Installing 'cisco.ios:9.0.3' to '/home/zuul/.ansible/collections/ansible_collections/cisco/ios'",
                                "Created collection for cisco.ios:9.0.3 at /home/zuul/.ansible/collections/ansible_collections/cisco/ios",
                                "cisco.ios:9.0.3 was installed successfully",
                                "Installing 'mellanox.onyx:1.0.0' to '/home/zuul/.ansible/collections/ansible_collections/mellanox/onyx'",
                                "Created collection for mellanox.onyx:1.0.0 at /home/zuul/.ansible/collections/ansible_collections/mellanox/onyx",
                                "mellanox.onyx:1.0.0 was installed successfully",
                                "Installing 'community.okd:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/okd'",
                                "Created collection for community.okd:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/okd",
                                "community.okd:4.0.0 was installed successfully",
                                "Installing '@NAMESPACE@.@NAME@:3.1.4' to '/home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@'",
                                "Created collection for @NAMESPACE@.@NAME@:3.1.4 at /home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@",
                                "@NAMESPACE@.@NAME@:3.1.4 was installed successfully",
                                "+ [[ '' == \\6\\a\\7\\5\\a\\e\\e\\7 ]]",
                                "+ sed -ri 's/^(version: [0-9.]+)+6a75aee7/\\1/' /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/galaxy.yml"
                            ],
                            "target": "setup_molecule",
                            "targets": null
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:48.419539Z",
                            "start": "2026-06-12T20:20:30.197915Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000008",
                        "name": "Install requirements"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.cron",
                            "changed": false,
                            "false_condition": "cifmw_openshift_crio_stats | default(false)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:48.481295Z",
                            "start": "2026-06-12T20:21:48.433187Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000009",
                        "name": "Add cronjob to trigger job stats"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.set_fact",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_facts": {
                                        "zuul_change_list": [
                                            "architecture"
                                        ]
                                    },
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "branch": "main",
                                        "change": "759",
                                        "change_message": "Add octavia service to SKMO central and leaf regions\n\nAdd OVN Octavia networking for SKMO multi-region deployment\r\nCompose SKMO overlays on multi-namespace bases with small components for\r\nOctavia NNCP, EDPM octbr bridge mappings, and network-values patches.\r\nNNCP stages reuse base values.yaml templates; octavia-network-values\r\ncomponent keeps kustomize load-restrictor-safe paths for CI kustomize_deploy.\r\n\r\nSigned-off-by: Ade Lee <alee@redhat.com>\r\nAssisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
                                        "change_url": "https://github.com/openstack-k8s-operators/architecture/pull/759",
                                        "commit_id": "96ad0e99da22a7b939f1210a5ea8973b59b2aacb",
                                        "patchset": "96ad0e99da22a7b939f1210a5ea8973b59b2aacb",
                                        "project": {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/openstack-k8s-operators/architecture",
                                            "name": "openstack-k8s-operators/architecture",
                                            "short_name": "architecture",
                                            "src_dir": "src/github.com/openstack-k8s-operators/architecture"
                                        },
                                        "topic": null
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:48.599232Z",
                            "start": "2026-06-12T20:21:48.491767Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-00000000000a",
                        "name": "Construct project change list"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:21:49.458764Z",
                    "start": "2026-06-12T20:21:48.641909Z"
                },
                "id": "0a580a2a-0021-f4e3-c7d9-00000000000c",
                "name": "Run ci/playbooks/build_runner_image.yml"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.meta",
                            "msg": "end_host conditional evaluated to false, continuing execution for controller",
                            "skip_reason": "end_host conditional evaluated to False, continuing execution for controller",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:48.663120Z",
                            "start": "2026-06-12T20:21:48.648534Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-00000000000e",
                        "name": "Filter out host if needed"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": false,
                            "false_condition": "'edpm-ansible' in zuul_change_list",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:49.233453Z",
                            "start": "2026-06-12T20:21:48.687347Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-00000000000f",
                        "name": "Get git tag for image tagging"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.set_fact",
                            "changed": false,
                            "false_condition": "'edpm-ansible' in zuul_change_list",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:49.279660Z",
                            "start": "2026-06-12T20:21:49.242243Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000010",
                        "name": "Set openstack-runner image"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "community.general.make",
                            "changed": false,
                            "false_condition": "'edpm-ansible' in zuul_change_list",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:49.327392Z",
                            "start": "2026-06-12T20:21:49.289200Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000011",
                        "name": "Build openstack-runner image"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "community.general.make",
                            "changed": false,
                            "false_condition": "'edpm-ansible' in zuul_change_list",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:49.373604Z",
                            "start": "2026-06-12T20:21:49.336774Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000012",
                        "name": "Push openstack-runner image"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.file",
                            "changed": false,
                            "false_condition": "'edpm-ansible' in zuul_change_list",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:49.414620Z",
                            "start": "2026-06-12T20:21:49.378698Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000013",
                        "name": "Make sure ci-framework directory exists"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": false,
                            "false_condition": "'edpm-ansible' in zuul_change_list",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:49.458764Z",
                            "start": "2026-06-12T20:21:49.421747Z"
                        },
                        "id": "0a580a2a-0021-f4e3-c7d9-000000000014",
                        "name": "Create EDPM ansible var file"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 7,
            "rescued": 0,
            "skipped": 7,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "3",
    "phase": "pre",
    "playbook": "github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:21:54.650521Z",
                    "start": "2026-06-12T20:21:50.370899Z"
                },
                "id": "0a580a2a-0021-2f0c-ca34-000000000002",
                "name": "Run ci/playbooks/dump_zuul_data.yml"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/ci-framework-data/artifacts/parameters",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/home/zuul/ci-framework-data/artifacts/parameters",
                                    "state": "absent"
                                }
                            },
                            "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": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/ci-framework-data/artifacts/parameters",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/home/zuul/ci-framework-data/artifacts/parameters",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:50.780247Z",
                            "start": "2026-06-12T20:21:50.382078Z"
                        },
                        "id": "0a580a2a-0021-2f0c-ca34-000000000004",
                        "name": "Create zuul-output directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.slurp",
                            "changed": false,
                            "content": "YWxsOgogIGNoaWxkcmVuOgogICAgcGVlcnM6CiAgICAgIGhvc3RzOiB7fQogICAgc3dpdGNoOgogICAgICBob3N0czoKICAgICAgICBjb250cm9sbGVyOiBudWxsCiAgICB6dXVsX3VucmVhY2hhYmxlOgogICAgICBob3N0czoge30KICBob3N0czoKICAgIGNvbnRyb2xsZXI6CiAgICAgIGFuc2libGVfY29ubmVjdGlvbjogc3NoCiAgICAgIGFuc2libGVfaG9zdDogMzguMTAyLjgzLjE4MQogICAgICBhbnNpYmxlX3BvcnQ6IDIyCiAgICAgIGFuc2libGVfcHl0aG9uX2ludGVycHJldGVyOiBhdXRvCiAgICAgIGFuc2libGVfdXNlcjogenV1bAogICAgICBjaWZtd19hcmNoaXRlY3R1cmVfcmVwbzogInt7XG4gIFthbnNpYmxlX3VzZXJfZGlyLFxuICAgenV1bC5wcm9qZWN0c1snZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUnXS5zcmNfZGlyXVxuCiAgICAgICAgXCAgfCBwYXRoX2pvaW5cbn19IgogICAgICBjaWZtd19hcmNoaXRlY3R1cmVfc2NlbmFyaW86IG11bHRpLW5hbWVzcGFjZS1za21vCiAgICAgIGNpZm13X25ldHdvcmtpbmdfZW52X2RlZl9maWxlOiBhdXRvbWF0aW9uL25ldC1lbnYvbXVsdGktbmFtZXNwYWNlLXNrbW8ueWFtbAogICAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZV9sb2NhbDogInt7XG4gIFwiXCIgaWYgbm90IGNpZm13X25ldHdvcmtpbmdfZW52X2RlZl9maWxlCiAgICAgICAgZWxzZVxuICAoWyBjaWZtd19hcmNoaXRlY3R1cmVfcmVwbyxcbiAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZSBdIHwKICAgICAgICBwYXRoX2pvaW4pXG59fSIKICAgICAgY2lmbXdfbmV0d29ya2luZ19tYXBwZXJfbmV0d29ya2luZ19lbnZfZGVmX3BhdGg6ICJ7e1xuICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZV9sb2NhbAogICAgICAgIHxcbiAgZGVmYXVsdChbYW5zaWJsZV91c2VyX2RpcixcbiAgenV1bC5wcm9qZWN0c1snZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsnXS5zcmNfZGlyLFxuCiAgICAgICAgXCAnY2kvcGxheWJvb2tzL2ZpbGVzL25ldHdvcmtpbmctZW52LWRlZmluaXRpb24ueW1sJ10gfCBwYXRoX2pvaW4sIHRydWUpXG59fSIKICAgICAgbm9kZXBvb2w6CiAgICAgICAgYXo6IG5vdmEKICAgICAgICBjbG91ZDogdmV4eGhvc3Qtbm9kZXBvb2wtdHJpcGxlbwogICAgICAgIGV4dGVybmFsX2lkOiAwNjllMzBhYi0zZDhlLTRmMWEtODhiOS01MDAwZmUyNTY1NjQKICAgICAgICBob3N0X2lkOiAxNDQwMjZkYzNhNjI2N2FhOTU5M2RjZTE1Y2NjZWUxMjFhNzE4Nzc5YmE3NWZiNmNlMjNiNjVlNwogICAgICAgIGludGVyZmFjZV9pcDogMzguMTAyLjgzLjE4MQogICAgICAgIGxhYmVsOiBjbG91ZC1jZW50b3MtOS1zdHJlYW0tdHJpcGxlbwogICAgICAgIG5vZGVfcHJvcGVydGllczoge30KICAgICAgICBwcml2YXRlX2lwdjQ6IDM4LjEwMi44My4xODEKICAgICAgICBwcml2YXRlX2lwdjY6IG51bGwKICAgICAgICBwcm92aWRlcjogdmV4eGhvc3Qtbm9kZXBvb2wtdHJpcGxlbwogICAgICAgIHB1YmxpY19pcHY0OiAzOC4xMDIuODMuMTgxCiAgICAgICAgcHVibGljX2lwdjY6ICcnCiAgICAgICAgcmVnaW9uOiBSZWdpb25PbmUKICAgICAgICBzbG90OiBudWxsCiAgICAgIHp1dWxfbm9kZToKICAgICAgICBhejogbm92YQogICAgICAgIGNsb3VkOiB2ZXh4aG9zdC1ub2RlcG9vbC10cmlwbGVvCiAgICAgICAgZXh0ZXJuYWxfaWQ6IDA2OWUzMGFiLTNkOGUtNGYxYS04OGI5LTUwMDBmZTI1NjU2NAogICAgICAgIGhvc3RfaWQ6IDE0NDAyNmRjM2E2MjY3YWE5NTkzZGNlMTVjY2NlZTEyMWE3MTg3NzliYTc1ZmI2Y2UyM2I2NWU3CiAgICAgICAgaW50ZXJmYWNlX2lwOiAzOC4xMDIuODMuMTgxCiAgICAgICAgbGFiZWw6IGNsb3VkLWNlbnRvcy05LXN0cmVhbS10cmlwbGVvCiAgICAgICAgbm9kZV9wcm9wZXJ0aWVzOiB7fQogICAgICAgIHByaXZhdGVfaXB2NDogMzguMTAyLjgzLjE4MQogICAgICAgIHByaXZhdGVfaXB2NjogbnVsbAogICAgICAgIHByb3ZpZGVyOiB2ZXh4aG9zdC1ub2RlcG9vbC10cmlwbGVvCiAgICAgICAgcHVibGljX2lwdjQ6IDM4LjEwMi44My4xODEKICAgICAgICBwdWJsaWNfaXB2NjogJycKICAgICAgICByZWdpb246IFJlZ2lvbk9uZQogICAgICAgIHNsb3Q6IG51bGwKICAgICAgICB1dWlkOiBudWxsCiAgdmFyczoKICAgIGNpZm13X2FyY2hpdGVjdHVyZV9yZXBvOiAie3tcbiAgW2Fuc2libGVfdXNlcl9kaXIsXG4gICB6dXVsLnByb2plY3RzWydnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZSddLnNyY19kaXJdXG4KICAgICAgXCAgfCBwYXRoX2pvaW5cbn19IgogICAgY2lmbXdfYXJjaGl0ZWN0dXJlX3NjZW5hcmlvOiBtdWx0aS1uYW1lc3BhY2Utc2ttbwogICAgY2lmbXdfbmV0d29ya2luZ19lbnZfZGVmX2ZpbGU6IGF1dG9tYXRpb24vbmV0LWVudi9tdWx0aS1uYW1lc3BhY2Utc2ttby55YW1sCiAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZV9sb2NhbDogInt7XG4gIFwiXCIgaWYgbm90IGNpZm13X25ldHdvcmtpbmdfZW52X2RlZl9maWxlCiAgICAgIGVsc2VcbiAgKFsgY2lmbXdfYXJjaGl0ZWN0dXJlX3JlcG8sXG4gICAgY2lmbXdfbmV0d29ya2luZ19lbnZfZGVmX2ZpbGUgXSB8IHBhdGhfam9pbilcbn19IgogICAgY2lmbXdfbmV0d29ya2luZ19tYXBwZXJfbmV0d29ya2luZ19lbnZfZGVmX3BhdGg6ICJ7e1xuICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZV9sb2NhbAogICAgICB8XG4gIGRlZmF1bHQoW2Fuc2libGVfdXNlcl9kaXIsXG4gIHp1dWwucHJvamVjdHNbJ2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrJ10uc3JjX2RpcixcbgogICAgICBcICdjaS9wbGF5Ym9va3MvZmlsZXMvbmV0d29ya2luZy1lbnYtZGVmaW5pdGlvbi55bWwnXSB8IHBhdGhfam9pbiwgdHJ1ZSlcbn19IgogICAgenV1bDoKICAgICAgX2luaGVyaXRhbmNlX3BhdGg6CiAgICAgIC0gJzxKb2IgYmFzZS1taW5pbWFsIGV4cGxpY2l0OiBOb25lIGltcGxpZWQ6IHtNYXRjaEFueTp7SW1wbGllZEJyYW5jaE1hdGNoZXI6bWFzdGVyfX0KICAgICAgICBzb3VyY2U6IGNvbmZpZy96dXVsLmQvam9icy55YW1sQG1hc3RlciMyND4nCiAgICAgIC0gJzxKb2IgYmFzZS1jaS1mcmFtZXdvcmsgZXhwbGljaXQ6IE5vbmUgaW1wbGllZDoge01hdGNoQW55OntJbXBsaWVkQnJhbmNoTWF0Y2hlcjptYXN0ZXJ9fQogICAgICAgIHNvdXJjZTogY29uZmlnL3p1dWwuZC9vcGVuc3RhY2stY2ktYmFzZS55YW1sQG1hc3RlciMxMTA+JwogICAgICAtICc8Sm9iIGNpZm13LWJhc2UtbWluaW1hbCBleHBsaWNpdDogTm9uZSBpbXBsaWVkOiB7TWF0Y2hBbnk6e0ltcGxpZWRCcmFuY2hNYXRjaGVyOm1haW59fQogICAgICAgIHNvdXJjZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL3p1dWwuZC9iYXNlLnlhbWxAbWFpbiM3PicKICAgICAgLSAnPEpvYiBjaWZtdy1hcmNoaXRlY3R1cmUtdmFsaWRhdGUtYmFzZSBleHBsaWNpdDogTm9uZSBpbXBsaWVkOiB7TWF0Y2hBbnk6e0ltcGxpZWRCcmFuY2hNYXRjaGVyOm1haW59fQogICAgICAgIHNvdXJjZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL3p1dWwuZC9hcmNoaXRlY3R1cmUtam9icy55YW1sQG1haW4jOD4nCiAgICAgIC0gJzxKb2Igcmhvc28tYXJjaGl0ZWN0dXJlLWJhc2Utam9iIGV4cGxpY2l0OiBOb25lIGltcGxpZWQ6IHtNYXRjaEFueTp7SW1wbGllZEJyYW5jaE1hdGNoZXI6bWFpbn19CiAgICAgICAgc291cmNlOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvenV1bC5kL2Jhc2Utam9icy55YW1sQG1haW4jOD4nCiAgICAgIC0gJzxKb2Igcmhvc28tYXJjaGl0ZWN0dXJlLXZhbGlkYXRlLW11bHRpLW5hbWVzcGFjZS1za21vIGV4cGxpY2l0OiBOb25lIGltcGxpZWQ6CiAgICAgICAge01hdGNoQW55OntJbXBsaWVkQnJhbmNoTWF0Y2hlcjptYWlufX0gc291cmNlOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvenV1bC5kL3ZhbGlkYXRpb25zLnlhbWxAbWFpbiMxODg+JwogICAgICAtICc8Sm9iIHJob3NvLWFyY2hpdGVjdHVyZS12YWxpZGF0ZS1tdWx0aS1uYW1lc3BhY2Utc2ttbyBleHBsaWNpdDogTm9uZSBpbXBsaWVkOgogICAgICAgIE5vbmUgc291cmNlOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvenV1bC5kL3Byb2plY3RzLnlhbWxAbWFpbiMxPicKICAgICAgYW5zaWJsZV92ZXJzaW9uOiAnOScKICAgICAgYXR0ZW1wdHM6IDEKICAgICAgYnJhbmNoOiBtYWluCiAgICAgIGJ1aWxkOiBlNmIxZGExYWY5YTI0N2VhOTFhYzA4NTI5MmViNGM5MwogICAgICBidWlsZF9yZWZzOgogICAgICAtIGJyYW5jaDogbWFpbgogICAgICAgIGNoYW5nZTogJzc1OScKICAgICAgICBjaGFuZ2VfbWVzc2FnZTogIkFkZCBvY3RhdmlhIHNlcnZpY2UgdG8gU0tNTyBjZW50cmFsIGFuZCBsZWFmIHJlZ2lvbnNcblxuQWRkCiAgICAgICAgICBPVk4gT2N0YXZpYSBuZXR3b3JraW5nIGZvciBTS01PIG11bHRpLXJlZ2lvbiBkZXBsb3ltZW50XHJcbkNvbXBvc2UgU0tNTwogICAgICAgICAgb3ZlcmxheXMgb24gbXVsdGktbmFtZXNwYWNlIGJhc2VzIHdpdGggc21hbGwgY29tcG9uZW50cyBmb3JcclxuT2N0YXZpYSBOTkNQLAogICAgICAgICAgRURQTSBvY3RiciBicmlkZ2UgbWFwcGluZ3MsIGFuZCBuZXR3b3JrLXZhbHVlcyBwYXRjaGVzLlxyXG5OTkNQIHN0YWdlcyByZXVzZQogICAgICAgICAgYmFzZSB2YWx1ZXMueWFtbCB0ZW1wbGF0ZXM7IG9jdGF2aWEtbmV0d29yay12YWx1ZXNcclxuY29tcG9uZW50IGtlZXBzIGt1c3RvbWl6ZQogICAgICAgICAgbG9hZC1yZXN0cmljdG9yLXNhZmUgcGF0aHMgZm9yIENJIGt1c3RvbWl6ZV9kZXBsb3kuXHJcblxyXG5TaWduZWQtb2ZmLWJ5OgogICAgICAgICAgQWRlIExlZSA8YWxlZUByZWRoYXQuY29tPlxyXG5Bc3Npc3RlZC1ieTogQ2xhdWRlIFNvbm5ldCA0LjYgPG5vcmVwbHlAYW50aHJvcGljLmNvbT4iCiAgICAgICAgY2hhbmdlX3VybDogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZS9wdWxsLzc1OQogICAgICAgIGNvbW1pdF9pZDogOTZhZDBlOTlkYTIyYTdiOTM5ZjEyMTBhNWVhODk3M2I1OWIyYWFjYgogICAgICAgIHBhdGNoc2V0OiA5NmFkMGU5OWRhMjJhN2I5MzlmMTIxMGE1ZWE4OTczYjU5YjJhYWNiCiAgICAgICAgcHJvamVjdDoKICAgICAgICAgIGNhbm9uaWNhbF9ob3N0bmFtZTogZ2l0aHViLmNvbQogICAgICAgICAgY2Fub25pY2FsX25hbWU6IGdpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgICBuYW1lOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICAgIHNob3J0X25hbWU6IGFyY2hpdGVjdHVyZQogICAgICAgICAgc3JjX2Rpcjogc3JjL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgc3JjX2Rpcjogc3JjL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgdG9waWM6IG51bGwKICAgICAgYnVpbGRzZXQ6IGMxM2VmNWVlMTU0YTQ5OGE5NDQzMWNkNWU3MzIyM2Y5CiAgICAgIGJ1aWxkc2V0X3JlZnM6CiAgICAgIC0gYnJhbmNoOiBtYWluCiAgICAgICAgY2hhbmdlOiAnNzU5JwogICAgICAgIGNoYW5nZV9tZXNzYWdlOiAiQWRkIG9jdGF2aWEgc2VydmljZSB0byBTS01PIGNlbnRyYWwgYW5kIGxlYWYgcmVnaW9uc1xuXG5BZGQKICAgICAgICAgIE9WTiBPY3RhdmlhIG5ldHdvcmtpbmcgZm9yIFNLTU8gbXVsdGktcmVnaW9uIGRlcGxveW1lbnRcclxuQ29tcG9zZSBTS01PCiAgICAgICAgICBvdmVybGF5cyBvbiBtdWx0aS1uYW1lc3BhY2UgYmFzZXMgd2l0aCBzbWFsbCBjb21wb25lbnRzIGZvclxyXG5PY3RhdmlhIE5OQ1AsCiAgICAgICAgICBFRFBNIG9jdGJyIGJyaWRnZSBtYXBwaW5ncywgYW5kIG5ldHdvcmstdmFsdWVzIHBhdGNoZXMuXHJcbk5OQ1Agc3RhZ2VzIHJldXNlCiAgICAgICAgICBiYXNlIHZhbHVlcy55YW1sIHRlbXBsYXRlczsgb2N0YXZpYS1uZXR3b3JrLXZhbHVlc1xyXG5jb21wb25lbnQga2VlcHMga3VzdG9taXplCiAgICAgICAgICBsb2FkLXJlc3RyaWN0b3Itc2FmZSBwYXRocyBmb3IgQ0kga3VzdG9taXplX2RlcGxveS5cclxuXHJcblNpZ25lZC1vZmYtYnk6CiAgICAgICAgICBBZGUgTGVlIDxhbGVlQHJlZGhhdC5jb20+XHJcbkFzc2lzdGVkLWJ5OiBDbGF1ZGUgU29ubmV0IDQuNiA8bm9yZXBseUBhbnRocm9waWMuY29tPiIKICAgICAgICBjaGFuZ2VfdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlL3B1bGwvNzU5CiAgICAgICAgY29tbWl0X2lkOiA5NmFkMGU5OWRhMjJhN2I5MzlmMTIxMGE1ZWE4OTczYjU5YjJhYWNiCiAgICAgICAgcGF0Y2hzZXQ6IDk2YWQwZTk5ZGEyMmE3YjkzOWYxMjEwYTVlYTg5NzNiNTliMmFhY2IKICAgICAgICBwcm9qZWN0OgogICAgICAgICAgY2Fub25pY2FsX2hvc3RuYW1lOiBnaXRodWIuY29tCiAgICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICAgIG5hbWU6IG9wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgICAgc2hvcnRfbmFtZTogYXJjaGl0ZWN0dXJlCiAgICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICB0b3BpYzogbnVsbAogICAgICBjaGFuZ2U6ICc3NTknCiAgICAgIGNoYW5nZV9tZXNzYWdlOiAiQWRkIG9jdGF2aWEgc2VydmljZSB0byBTS01PIGNlbnRyYWwgYW5kIGxlYWYgcmVnaW9uc1xuXG5BZGQKICAgICAgICBPVk4gT2N0YXZpYSBuZXR3b3JraW5nIGZvciBTS01PIG11bHRpLXJlZ2lvbiBkZXBsb3ltZW50XHJcbkNvbXBvc2UgU0tNTyBvdmVybGF5cwogICAgICAgIG9uIG11bHRpLW5hbWVzcGFjZSBiYXNlcyB3aXRoIHNtYWxsIGNvbXBvbmVudHMgZm9yXHJcbk9jdGF2aWEgTk5DUCwgRURQTSBvY3RicgogICAgICAgIGJyaWRnZSBtYXBwaW5ncywgYW5kIG5ldHdvcmstdmFsdWVzIHBhdGNoZXMuXHJcbk5OQ1Agc3RhZ2VzIHJldXNlIGJhc2UgdmFsdWVzLnlhbWwKICAgICAgICB0ZW1wbGF0ZXM7IG9jdGF2aWEtbmV0d29yay12YWx1ZXNcclxuY29tcG9uZW50IGtlZXBzIGt1c3RvbWl6ZSBsb2FkLXJlc3RyaWN0b3Itc2FmZQogICAgICAgIHBhdGhzIGZvciBDSSBrdXN0b21pemVfZGVwbG95LlxyXG5cclxuU2lnbmVkLW9mZi1ieTogQWRlIExlZSA8YWxlZUByZWRoYXQuY29tPlxyXG5Bc3Npc3RlZC1ieToKICAgICAgICBDbGF1ZGUgU29ubmV0IDQuNiA8bm9yZXBseUBhbnRocm9waWMuY29tPiIKICAgICAgY2hhbmdlX3VybDogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZS9wdWxsLzc1OQogICAgICBjaGlsZF9qb2JzOiBbXQogICAgICBjb21taXRfaWQ6IDk2YWQwZTk5ZGEyMmE3YjkzOWYxMjEwYTVlYTg5NzNiNTliMmFhY2IKICAgICAgZXZlbnRfaWQ6IGM5MTdjYmUwLTY2OWItMTFmMS04NGY2LTg1OWI2ZjBlZTdmYwogICAgICBleGVjdXRvcjoKICAgICAgICBob3N0bmFtZTogMzguMTI5LjU2Ljg0CiAgICAgICAgaW52ZW50b3J5X2ZpbGU6IC92YXIvbGliL3p1dWwvYnVpbGRzL2U2YjFkYTFhZjlhMjQ3ZWE5MWFjMDg1MjkyZWI0YzkzL2Fuc2libGUvaW52ZW50b3J5LnlhbWwKICAgICAgICBsb2dfcm9vdDogL3Zhci9saWIvenV1bC9idWlsZHMvZTZiMWRhMWFmOWEyNDdlYTkxYWMwODUyOTJlYjRjOTMvd29yay9sb2dzCiAgICAgICAgcmVzdWx0X2RhdGFfZmlsZTogL3Zhci9saWIvenV1bC9idWlsZHMvZTZiMWRhMWFmOWEyNDdlYTkxYWMwODUyOTJlYjRjOTMvd29yay9yZXN1bHRzLmpzb24KICAgICAgICBzcmNfcm9vdDogL3Zhci9saWIvenV1bC9idWlsZHMvZTZiMWRhMWFmOWEyNDdlYTkxYWMwODUyOTJlYjRjOTMvd29yay9zcmMKICAgICAgICB3b3JrX3Jvb3Q6IC92YXIvbGliL3p1dWwvYnVpbGRzL2U2YjFkYTFhZjlhMjQ3ZWE5MWFjMDg1MjkyZWI0YzkzL3dvcmsKICAgICAgaW5jbHVkZV92YXJzOiBbXQogICAgICBpdGVtczoKICAgICAgLSBicmFuY2g6IG1haW4KICAgICAgICBjaGFuZ2U6ICc3NTknCiAgICAgICAgY2hhbmdlX21lc3NhZ2U6ICJBZGQgb2N0YXZpYSBzZXJ2aWNlIHRvIFNLTU8gY2VudHJhbCBhbmQgbGVhZiByZWdpb25zXG5cbkFkZAogICAgICAgICAgT1ZOIE9jdGF2aWEgbmV0d29ya2luZyBmb3IgU0tNTyBtdWx0aS1yZWdpb24gZGVwbG95bWVudFxyXG5Db21wb3NlIFNLTU8KICAgICAgICAgIG92ZXJsYXlzIG9uIG11bHRpLW5hbWVzcGFjZSBiYXNlcyB3aXRoIHNtYWxsIGNvbXBvbmVudHMgZm9yXHJcbk9jdGF2aWEgTk5DUCwKICAgICAgICAgIEVEUE0gb2N0YnIgYnJpZGdlIG1hcHBpbmdzLCBhbmQgbmV0d29yay12YWx1ZXMgcGF0Y2hlcy5cclxuTk5DUCBzdGFnZXMgcmV1c2UKICAgICAgICAgIGJhc2UgdmFsdWVzLnlhbWwgdGVtcGxhdGVzOyBvY3RhdmlhLW5ldHdvcmstdmFsdWVzXHJcbmNvbXBvbmVudCBrZWVwcyBrdXN0b21pemUKICAgICAgICAgIGxvYWQtcmVzdHJpY3Rvci1zYWZlIHBhdGhzIGZvciBDSSBrdXN0b21pemVfZGVwbG95LlxyXG5cclxuU2lnbmVkLW9mZi1ieToKICAgICAgICAgIEFkZSBMZWUgPGFsZWVAcmVkaGF0LmNvbT5cclxuQXNzaXN0ZWQtYnk6IENsYXVkZSBTb25uZXQgNC42IDxub3JlcGx5QGFudGhyb3BpYy5jb20+IgogICAgICAgIGNoYW5nZV91cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvcHVsbC83NTkKICAgICAgICBjb21taXRfaWQ6IDk2YWQwZTk5ZGEyMmE3YjkzOWYxMjEwYTVlYTg5NzNiNTliMmFhY2IKICAgICAgICBwYXRjaHNldDogOTZhZDBlOTlkYTIyYTdiOTM5ZjEyMTBhNWVhODk3M2I1OWIyYWFjYgogICAgICAgIHByb2plY3Q6CiAgICAgICAgICBjYW5vbmljYWxfaG9zdG5hbWU6IGdpdGh1Yi5jb20KICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgICAgbmFtZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgICBzaG9ydF9uYW1lOiBhcmNoaXRlY3R1cmUKICAgICAgICAgIHNyY19kaXI6IHNyYy9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgIHRvcGljOiBudWxsCiAgICAgIGpvYjogcmhvc28tYXJjaGl0ZWN0dXJlLXZhbGlkYXRlLW11bHRpLW5hbWVzcGFjZS1za21vCiAgICAgIGpvYnRhZ3M6IFtdCiAgICAgIG1heF9hdHRlbXB0czogMwogICAgICBtZXNzYWdlOiBRV1JrSUc5amRHRjJhV0VnYzJWeWRtbGpaU0IwYnlCVFMwMVBJR05sYm5SeVlXd2dZVzVrSUd4bFlXWWdjbVZuYVc5dWN3b0tRV1JrSUU5V1RpQlBZM1JoZG1saElHNWxkSGR2Y210cGJtY2dabTl5SUZOTFRVOGdiWFZzZEdrdGNtVm5hVzl1SUdSbGNHeHZlVzFsYm5RTkNrTnZiWEJ2YzJVZ1UwdE5UeUJ2ZG1WeWJHRjVjeUJ2YmlCdGRXeDBhUzF1WVcxbGMzQmhZMlVnWW1GelpYTWdkMmwwYUNCemJXRnNiQ0JqYjIxd2IyNWxiblJ6SUdadmNnMEtUMk4wWVhacFlTQk9Ua05RTENCRlJGQk5JRzlqZEdKeUlHSnlhV1JuWlNCdFlYQndhVzVuY3l3Z1lXNWtJRzVsZEhkdmNtc3RkbUZzZFdWeklIQmhkR05vWlhNdURRcE9Ua05RSUhOMFlXZGxjeUJ5WlhWelpTQmlZWE5sSUhaaGJIVmxjeTU1WVcxc0lIUmxiWEJzWVhSbGN6c2diMk4wWVhacFlTMXVaWFIzYjNKckxYWmhiSFZsY3cwS1kyOXRjRzl1Wlc1MElHdGxaWEJ6SUd0MWMzUnZiV2w2WlNCc2IyRmtMWEpsYzNSeWFXTjBiM0l0YzJGbVpTQndZWFJvY3lCbWIzSWdRMGtnYTNWemRHOXRhWHBsWDJSbGNHeHZlUzROQ2cwS1UybG5ibVZrTFc5bVppMWllVG9nUVdSbElFeGxaU0E4WVd4bFpVQnlaV1JvWVhRdVkyOXRQZzBLUVhOemFYTjBaV1F0WW5rNklFTnNZWFZrWlNCVGIyNXVaWFFnTkM0MklEeHViM0psY0d4NVFHRnVkR2h5YjNCcFl5NWpiMjArCiAgICAgIHBhdGNoc2V0OiA5NmFkMGU5OWRhMjJhN2I5MzlmMTIxMGE1ZWE4OTczYjU5YjJhYWNiCiAgICAgIHBpcGVsaW5lOiBnaXRodWItY2hlY2sKICAgICAgcGxheWJvb2tfY29udGV4dDoKICAgICAgICBwbGF5Ym9va19wcm9qZWN0czoKICAgICAgICAgIHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWc6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiByZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY29tbWl0OiBjYzEyYjJkYjY0YTc1NTAzMTVhNjhjMzczMjg4NWYzMzg2OWU2MjIyCiAgICAgICAgICB0cnVzdGVkL3Byb2plY3RfMS9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9iczoKICAgICAgICAgICAgY2Fub25pY2FsX25hbWU6IG9wZW5kZXYub3JnL3p1dWwvenV1bC1qb2JzCiAgICAgICAgICAgIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY29tbWl0OiA4MmUzZThiMTI5MmEyNWUzODIzNWJiOTJiMTU3OTkyZDMyNjUzMWQxCiAgICAgICAgICB0cnVzdGVkL3Byb2plY3RfMi9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnM6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiByZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjb21taXQ6IGFlM2Y4ODRjNmM4YzMyYjc3OWRjNjFmNzU4YzBmNmE0M2FkZTY4NzcKICAgICAgICAgIHVudHJ1c3RlZC9wcm9qZWN0XzAvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcms6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgICBjaGVja291dDogbWFpbgogICAgICAgICAgICBjb21taXQ6IDZhNzVhZWU3NGUwOGU2YzJiZGE3ZjU0Njk3MThhMGZiODZhZThiNjQKICAgICAgICAgIHVudHJ1c3RlZC9wcm9qZWN0XzEvcmV2aWV3LnJkb3Byb2plY3Qub3JnL2NvbmZpZzoKICAgICAgICAgICAgY2Fub25pY2FsX25hbWU6IHJldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjb21taXQ6IGNjMTJiMmRiNjRhNzU1MDMxNWE2OGMzNzMyODg1ZjMzODY5ZTYyMjIKICAgICAgICAgIHVudHJ1c3RlZC9wcm9qZWN0XzIvb3BlbmRldi5vcmcvenV1bC96dXVsLWpvYnM6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBvcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNvbW1pdDogODJlM2U4YjEyOTJhMjVlMzgyMzViYjkyYjE1Nzk5MmQzMjY1MzFkMQogICAgICAgICAgdW50cnVzdGVkL3Byb2plY3RfMy9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnM6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiByZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjb21taXQ6IGFlM2Y4ODRjNmM4YzMyYjc3OWRjNjFmNzU4YzBmNmE0M2FkZTY4NzcKICAgICAgICBwbGF5Ym9va3M6CiAgICAgICAgLSBwYXRoOiB1bnRydXN0ZWQvcHJvamVjdF8wL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL2NpL3BsYXlib29rcy9hcmNoaXRlY3R1cmUvcnVuLnltbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3BsYXlib29rXzAvcm9sZV8wL2NpLWZyYW1ld29yawogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcGxheWJvb2tfMC9yb2xlXzAvY2ktZnJhbWV3b3JrL3JvbGVzCiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3BsYXlib29rXzAvcm9sZV8xL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMS9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wbGF5Ym9va18wL3JvbGVfMS9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcGxheWJvb2tfMC9yb2xlXzIvenV1bC1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8yL29wZW5kZXYub3JnL3p1dWwvenV1bC1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wbGF5Ym9va18wL3JvbGVfMi96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcGxheWJvb2tfMC9yb2xlXzMvcmRvLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzMvcmV2aWV3LnJkb3Byb2plY3Qub3JnL3Jkby1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wbGF5Ym9va18wL3JvbGVfMy9yZG8tam9icy9yb2xlcwogICAgICAgIHBvc3RfcGxheWJvb2tzOgogICAgICAgIC0gcGF0aDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay9jaS9wbGF5Ym9va3MvY29sbGVjdC1sb2dzLnltbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMC9yb2xlXzAvY2ktZnJhbWV3b3JrCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8wL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8wL2NpLWZyYW1ld29yay9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8xL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMS9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8xL2NvbmZpZy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8yL3p1dWwtam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMi9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcG9zdF9wbGF5Ym9va18wL3JvbGVfMi96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18wL3JvbGVfMy9yZG8tam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMy9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMC9yb2xlXzMvcmRvLWpvYnMvcm9sZXMKICAgICAgICAtIHBhdGg6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcvcGxheWJvb2tzL2Jhc2UtbWluaW1hbC9wb3N0LXNzaC55YW1sCiAgICAgICAgICByb2xlczoKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcGxheWJvb2sgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzEvcm9sZV8wL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzAvcmV2aWV3LnJkb3Byb2plY3Qub3JnL2NvbmZpZwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcG9zdF9wbGF5Ym9va18xL3JvbGVfMC9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18xL3JvbGVfMS96dXVsLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8xL29wZW5kZXYub3JnL3p1dWwvenV1bC1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzEvcm9sZV8xL3p1dWwtam9icy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzEvcm9sZV8yL3Jkby1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMi9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMS9yb2xlXzIvcmRvLWpvYnMvcm9sZXMKICAgICAgICAtIHBhdGg6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcvcGxheWJvb2tzL2Jhc2UtbWluaW1hbC9wb3N0LWxvZ3MueWFtbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHBsYXlib29rIGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18yL3JvbGVfMC9jb25maWcKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMi9yb2xlXzAvY29uZmlnL3JvbGVzCiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMi9yb2xlXzEvenV1bC1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMS9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcG9zdF9wbGF5Ym9va18yL3JvbGVfMS96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18yL3JvbGVfMi9yZG8tam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzIvcmV2aWV3LnJkb3Byb2plY3Qub3JnL3Jkby1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzIvcm9sZV8yL3Jkby1qb2JzL3JvbGVzCiAgICAgICAgcHJlX3BsYXlib29rczoKICAgICAgICAtIHBhdGg6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcvcGxheWJvb2tzL2Jhc2UtbWluaW1hbC9wcmUueWFtbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHBsYXlib29rIGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8wL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzAvcmV2aWV3LnJkb3Byb2plY3Qub3JnL2NvbmZpZwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8wL2NvbmZpZy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMC9yb2xlXzEvenV1bC1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMS9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8xL3p1dWwtam9icy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMC9yb2xlXzIvcmRvLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8yL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yZG8tam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8yL3Jkby1qb2JzL3JvbGVzCiAgICAgICAgLSBwYXRoOiB0cnVzdGVkL3Byb2plY3RfMC9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnL3BsYXlib29rcy9jaS1mcmFtZXdvcmstcmRvLWJhc2UvcHJlLnlhbWwKICAgICAgICAgIHJvbGVzOgogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMC9jb25maWcKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMC9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzEvcm9sZV8xL3p1dWwtam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzEvb3BlbmRldi5vcmcvenV1bC96dXVsLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMS96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzEvcm9sZV8yL3Jkby1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMi9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMi9yZG8tam9icy9yb2xlcwogICAgICAgIC0gcGF0aDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay9jaS9wbGF5Ym9va3MvZTJlLXByZXBhcmUueW1sCiAgICAgICAgICByb2xlczoKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1haW4KICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHBsYXlib29rIGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8wL2NpLWZyYW1ld29yawogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8wL2NpLWZyYW1ld29yay9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMi9yb2xlXzEvY29uZmlnCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8xL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18yL3JvbGVfMS9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8yL3p1dWwtam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMi9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8yL3p1dWwtam9icy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMi9yb2xlXzMvcmRvLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzMvcmV2aWV3LnJkb3Byb2plY3Qub3JnL3Jkby1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wcmVfcGxheWJvb2tfMi9yb2xlXzMvcmRvLWpvYnMvcm9sZXMKICAgICAgICAtIHBhdGg6IHVudHJ1c3RlZC9wcm9qZWN0XzAvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsvY2kvcGxheWJvb2tzL2R1bXBfenV1bF9kYXRhLnltbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMC9jaS1mcmFtZXdvcmsKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzAvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMC9jaS1mcmFtZXdvcmsvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzMvcm9sZV8xL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMS9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wcmVfcGxheWJvb2tfMy9yb2xlXzEvY29uZmlnL3JvbGVzCiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMi96dXVsLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzIvb3BlbmRldi5vcmcvenV1bC96dXVsLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMi96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzMvcm9sZV8zL3Jkby1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8zL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yZG8tam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzMvcm9sZV8zL3Jkby1qb2JzL3JvbGVzCiAgICAgIHBvc3RfcmV2aWV3OiBmYWxzZQogICAgICBwb3N0X3RpbWVvdXQ6IDU0MDAKICAgICAgcHJlX3RpbWVvdXQ6IG51bGwKICAgICAgcHJvamVjdDoKICAgICAgICBjYW5vbmljYWxfaG9zdG5hbWU6IGdpdGh1Yi5jb20KICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICBuYW1lOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICBzaG9ydF9uYW1lOiBhcmNoaXRlY3R1cmUKICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgcHJvamVjdHM6CiAgICAgICAgZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmU6CiAgICAgICAgICBjYW5vbmljYWxfaG9zdG5hbWU6IGdpdGh1Yi5jb20KICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgICAgY2hlY2tvdXQ6IG1haW4KICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiB6dXVsIGJyYW5jaAogICAgICAgICAgY29tbWl0OiA5NmFkMGU5OWRhMjJhN2I5MzlmMTIxMGE1ZWE4OTczYjU5YjJhYWNiCiAgICAgICAgICBuYW1lOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICAgICAgICBzaG9ydF9uYW1lOiBhcmNoaXRlY3R1cmUKICAgICAgICAgIHNyY19kaXI6IHNyYy9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgIGdpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrOgogICAgICAgICAgY2Fub25pY2FsX2hvc3RuYW1lOiBnaXRodWIuY29tCiAgICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICAgIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogenV1bCBicmFuY2gKICAgICAgICAgIGNvbW1pdDogNmE3NWFlZTc0ZTA4ZTZjMmJkYTdmNTQ2OTcxOGEwZmI4NmFlOGI2NAogICAgICAgICAgbmFtZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrCiAgICAgICAgICByZXF1aXJlZDogdHJ1ZQogICAgICAgICAgc2hvcnRfbmFtZTogY2ktZnJhbWV3b3JrCiAgICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICBvcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9iczoKICAgICAgICAgIGNhbm9uaWNhbF9ob3N0bmFtZTogb3BlbmRldi5vcmcKICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBvcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgIGNvbW1pdDogODJlM2U4YjEyOTJhMjVlMzgyMzViYjkyYjE1Nzk5MmQzMjY1MzFkMQogICAgICAgICAgbmFtZTogenV1bC96dXVsLWpvYnMKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICAgICAgICBzaG9ydF9uYW1lOiB6dXVsLWpvYnMKICAgICAgICAgIHNyY19kaXI6IHNyYy9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICByZWY6IHJlZnMvcHVsbC83NTkvaGVhZAogICAgICByZXNvdXJjZXM6IHt9CiAgICAgIHRlbmFudDogcmRvcHJvamVjdC5vcmcKICAgICAgdGltZW91dDogMTgwMAogICAgICB0b3BpYzogbnVsbAogICAgICB2b3Rpbmc6IHRydWUK",
                            "encoding": "base64",
                            "invocation": {
                                "module_args": {
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/inventory.yaml",
                                    "src": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/inventory.yaml"
                                }
                            },
                            "source": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/zuul-info/inventory.yaml"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:51.250649Z",
                            "start": "2026-06-12T20:21:50.787553Z"
                        },
                        "id": "0a580a2a-0021-2f0c-ca34-000000000005",
                        "name": "Slurp Zuul inventory test"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "36a771911d93880a9fd66e6c3d991ef09cb452a3",
                            "dest": "/home/zuul/ci-framework-data/artifacts/zuul_inventory.yml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmpfn6rmfet",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "36a771911d93880a9fd66e6c3d991ef09cb452a3",
                                    "content": null,
                                    "dest": "/home/zuul/ci-framework-data/artifacts/zuul_inventory.yml",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295712.8489146-22-104748183839515/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "516b0cb9d7019405e39a5112b7e7fbd4",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 26924,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295712.8489146-22-104748183839515/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:53.806798Z",
                            "start": "2026-06-12T20:21:51.256406Z"
                        },
                        "id": "0a580a2a-0021-2f0c-ca34-000000000006",
                        "name": "Save zuul inventory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "340afa1b933c946436e0880a0e7b4f96d2dec5ce",
                            "dest": "/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmpk2ftncgv",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "340afa1b933c946436e0880a0e7b4f96d2dec5ce",
                                    "content": null,
                                    "dest": "/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml",
                                    "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-1781295713.9607995-31-66747213881385/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "7a97d187b72df7c84e162464a5b52aa0",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 18970,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295713.9607995-31-66747213881385/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:54.650521Z",
                            "start": "2026-06-12T20:21:53.813728Z"
                        },
                        "id": "0a580a2a-0021-2f0c-ca34-000000000007",
                        "name": "Save zuul vars without the change_message"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/openstack-k8s-operators/ci-framework/ci/playbooks/architecture/run.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:24:10.667254Z",
                    "start": "2026-06-12T20:21:55.405840Z"
                },
                "id": "0a580a2a-0021-37e9-f0d2-000000000002",
                "name": "Run ci/playbooks/architecture/validate-architecture.yml"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.meta",
                            "msg": "end_host conditional evaluated to false, continuing execution for controller",
                            "skip_reason": "end_host conditional evaluated to False, continuing execution for controller",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:21:55.424089Z",
                            "start": "2026-06-12T20:21:55.416415Z"
                        },
                        "id": "0a580a2a-0021-37e9-f0d2-000000000004",
                        "name": "Filter out host if needed"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "ansible-playbook",
                                "-i",
                                "localhost,",
                                "-c",
                                "local",
                                "ci/playbooks/architecture/validate-architecture.yml",
                                "-e",
                                "@group_vars/all.yml",
                                "-e",
                                "@/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml"
                            ],
                            "delta": "0:02:14.413475",
                            "end": "2026-06-12 20:24:10.263859",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ansible-playbook -i localhost, -c local ci/playbooks/architecture/validate-architecture.yml -e @group_vars/all.yml -e \"@/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml\"",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "/home/zuul/src/github.com/openstack-k8s-operators/ci-framework",
                                    "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": "0a580a2a-0021-37e9-f0d2-000000000005-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:21:55.850384",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "\nPLAY [Test architecture automations] *******************************************\n\nTASK [Gathering Facts ] ********************************************************\nFriday 12 June 2026  20:21:56 +0000 (0:00:00.027)       0:00:00.027 *********** \nFriday 12 June 2026  20:21:56 +0000 (0:00:00.026)       0:00:00.026 *********** \nok: [localhost]\n\nTASK [Assert we have the bare minimum to run quiet=True, that=['cifmw_architecture_repo is defined', 'cifmw_architecture_scenario is defined', 'cifmw_networking_mapper_networking_env_def_path is defined']] ***\nFriday 12 June 2026  20:21:57 +0000 (0:00:00.998)       0:00:01.026 *********** \nFriday 12 June 2026  20:21:57 +0000 (0:00:00.998)       0:00:01.025 *********** \nok: [localhost]\n\nTASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] ***\nFriday 12 June 2026  20:21:57 +0000 (0:00:00.056)       0:00:01.083 *********** \nFriday 12 June 2026  20:21:57 +0000 (0:00:00.056)       0:00:01.082 *********** \nok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml)\n\nTASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] *********\nFriday 12 June 2026  20:21:57 +0000 (0:00:00.043)       0:00:01.127 *********** \nFriday 12 June 2026  20:21:57 +0000 (0:00:00.043)       0:00:01.126 *********** \nok: [localhost] => \n    cifmw_ci_setup_packages:\n    - bash-completion\n    - ca-certificates\n    - git-core\n    - make\n    - tar\n    - tmux\n    - python3-pip\n\nTASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] ***\nFriday 12 June 2026  20:21:57 +0000 (0:00:00.025)       0:00:01.152 *********** \nFriday 12 June 2026  20:21:57 +0000 (0:00:00.025)       0:00:01.151 *********** \nchanged: [localhost]\n\nTASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] ***\nFriday 12 June 2026  20:22:02 +0000 (0:00:05.039)       0:00:06.192 *********** \nFriday 12 June 2026  20:22:02 +0000 (0:00:05.039)       0:00:06.191 *********** \nok: [localhost]\n\nTASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:02 +0000 (0:00:00.335)       0:00:06.528 *********** \nFriday 12 June 2026  20:22:02 +0000 (0:00:00.335)       0:00:06.526 *********** \nchanged: [localhost]\n\nTASK [ci_setup : Install openshift client src={{ cifmw_ci_setup_openshift_client_download_uri }}/{{ cifmw_ci_setup_openshift_client_version }}/openshift-client-linux.tar.gz, dest={{ cifmw_ci_setup_oc_install_path }}, remote_src=True, mode=0755, creates={{ cifmw_ci_setup_oc_install_path }}/oc] ***\nFriday 12 June 2026  20:22:03 +0000 (0:00:00.337)       0:00:06.865 *********** \nFriday 12 June 2026  20:22:03 +0000 (0:00:00.337)       0:00:06.864 *********** \nchanged: [localhost]\n\nTASK [ci_setup : Add the OC path to cifmw_path if needed cifmw_path={{ cifmw_ci_setup_oc_install_path }}:{{ ansible_env.PATH }}, cacheable=True] ***\nFriday 12 June 2026  20:22:07 +0000 (0:00:04.073)       0:00:10.938 *********** \nFriday 12 June 2026  20:22:07 +0000 (0:00:04.073)       0:00:10.937 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Create completion file] ***************************************\nFriday 12 June 2026  20:22:07 +0000 (0:00:00.049)       0:00:10.988 *********** \nFriday 12 June 2026  20:22:07 +0000 (0:00:00.049)       0:00:10.987 *********** \nchanged: [localhost]\n\nTASK [ci_setup : Source completion from within .bashrc create=True, mode=0644, path={{ ansible_user_dir }}/.bashrc, block=if [ -f ~/.oc_completion ]; then\n  source ~/.oc_completion\nfi] ***\nFriday 12 June 2026  20:22:07 +0000 (0:00:00.378)       0:00:11.367 *********** \nFriday 12 June 2026  20:22:07 +0000 (0:00:00.378)       0:00:11.366 *********** \nchanged: [localhost]\n\nTASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] ****\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.327)       0:00:11.695 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.327)       0:00:11.694 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Gather the repos to be enabled _repos={{\n  cifmw_ci_setup_rhel_rhsm_default_repos +\n  (cifmw_ci_setup_rhel_rhsm_extra_repos | default([]))\n}}] ***\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.031)       0:00:11.726 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.031)       0:00:11.725 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] ***\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.027)       0:00:11.754 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.027)       0:00:11.753 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] ***\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.024)       0:00:11.779 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.024)       0:00:11.777 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] ***\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.026)       0:00:11.805 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.026)       0:00:11.804 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Ensure the repos are enabled in the system using yum name={{ item.name }}, baseurl={{ item.baseurl }}, description={{ item.description | default(item.name) }}, gpgcheck={{ item.gpgcheck | default(false) }}, enabled=True, state={{ yum_repo_state | default('present') }}] ***\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.028)       0:00:11.833 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.028)       0:00:11.832 *********** \nskipping: [localhost]\n\nTASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] ***\nFriday 12 June 2026  20:22:08 +0000 (0:00:00.037)       0:00:11.871 *********** \nFriday 12 June 2026  20:22:08 +0000 (0:00:00.037)       0:00:11.870 *********** \nchanged: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr)\nchanged: [localhost] => (item=/home/zuul/ci-framework-data/logs)\nchanged: [localhost] => (item=/home/zuul/ci-framework-data/tmp)\nchanged: [localhost] => (item=/home/zuul/ci-framework-data/volumes)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters)\n\nTASK [Create needed directories path={{ item }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:09 +0000 (0:00:01.057)       0:00:12.928 *********** \nFriday 12 June 2026  20:22:09 +0000 (0:00:01.057)       0:00:12.927 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/logs)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts)\n\nTASK [Check if we have a mock file path={{ _mock_file }}] **********************\nFriday 12 June 2026  20:22:09 +0000 (0:00:00.386)       0:00:13.315 *********** \nFriday 12 June 2026  20:22:09 +0000 (0:00:00.386)       0:00:13.314 *********** \nok: [localhost]\n\nTASK [Slurp file from remote src={{ _mock_file }}] *****************************\nFriday 12 June 2026  20:22:09 +0000 (0:00:00.212)       0:00:13.527 *********** \nFriday 12 June 2026  20:22:09 +0000 (0:00:00.212)       0:00:13.526 *********** \nskipping: [localhost]\n\nTASK [Copy file on localhost dest={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}, mode=0644, content={{ _mock_content.content | b64decode }}] ***\nFriday 12 June 2026  20:22:09 +0000 (0:00:00.025)       0:00:13.553 *********** \nFriday 12 June 2026  20:22:09 +0000 (0:00:00.025)       0:00:13.552 *********** \nskipping: [localhost]\n\nTASK [Include var file file={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}] ***\nFriday 12 June 2026  20:22:09 +0000 (0:00:00.037)       0:00:13.590 *********** \nFriday 12 June 2026  20:22:09 +0000 (0:00:00.037)       0:00:13.589 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure that architecture repo exists repo={{ cifmw_kustomize_deploy_architecture_repo_url }}, dest={{ cifmw_kustomize_deploy_architecture_repo_dest_dir }}, update=False, version={{ cifmw_kustomize_deploy_architecture_repo_version }}] ***\nFriday 12 June 2026  20:22:10 +0000 (0:00:00.030)       0:00:13.620 *********** \nFriday 12 June 2026  20:22:10 +0000 (0:00:00.030)       0:00:13.619 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Gather the list of scenario folders paths={{ _va_scenario_dir }}, patterns=kustomization.y*ml, recurse=True] ***\nFriday 12 June 2026  20:22:10 +0000 (0:00:00.371)       0:00:13.992 *********** \nFriday 12 June 2026  20:22:10 +0000 (0:00:00.371)       0:00:13.991 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Check if scenario is in the list msg=You need to properly set the `cifmw_architecture_scenario` variable in order to select the architecture-based scenario to deploy. You can take a list of scenario in the `examples/va` folder in the architecture repo.\n] ***\nFriday 12 June 2026  20:22:10 +0000 (0:00:00.445)       0:00:14.438 *********** \nFriday 12 June 2026  20:22:10 +0000 (0:00:00.445)       0:00:14.437 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure that destination directory exists path={{ cifmw_kustomize_deploy_kustomizations_dest_dir }}, mode=0755, state=directory] ***\nFriday 12 June 2026  20:22:10 +0000 (0:00:00.028)       0:00:14.467 *********** \nFriday 12 June 2026  20:22:10 +0000 (0:00:00.028)       0:00:14.465 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Set the final cifmw_architecture_user_kustomize based on its patches _cifmw_kustomize_deploy_user_kustomize={{\n  _cifmw_kustomize_deploy_user_kustomize |\n  default({}) |\n  combine(item.value, recursive=True)\n}}] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.228)       0:00:14.695 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.228)       0:00:14.694 *********** \nok: [localhost] => (item=cifmw_architecture_user_kustomize)\n\nTASK [kustomize_deploy : Set the final cifmw_architecture_user_kustomize_base64 based on its patches _cifmw_kustomize_deploy_user_base64_kustomize={{\n  _b64_kustomize_user_patches |\n  ci_kustomize_deploy_combine_base64_patch_dict\n}}] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.110)       0:00:14.805 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.110)       0:00:14.804 *********** \nok: [localhost]\n\nTASK [networking_mapper : Check for Networking Environment Definition file existence path={{ cifmw_networking_mapper_networking_env_def_path }}] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.108)       0:00:14.913 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.108)       0:00:14.912 *********** \nok: [localhost]\n\nTASK [networking_mapper : Check for Networking Definition file existance that=['_net_env_def_stat.stat.exists'], msg=Ensure that the Networking Environment Definition file exists in {{ cifmw_networking_mapper_networking_env_def_path }}, quiet=True] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.229)       0:00:15.143 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.229)       0:00:15.142 *********** \nok: [localhost]\n\nTASK [networking_mapper : Load the Networking Definition from file path={{ cifmw_networking_mapper_networking_env_def_path }}] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.060)       0:00:15.203 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.060)       0:00:15.202 *********** \nok: [localhost]\n\nTASK [networking_mapper : Set cifmw_networking_env_definition is present cifmw_networking_env_definition={{\n  _net_env_def_slurp['content'] |\n  b64decode |\n  from_yaml\n}}, cacheable=True] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.304)       0:00:15.507 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.304)       0:00:15.506 *********** \nok: [localhost]\n\nTASK [Discover automation files paths={{\n  [cifmw_architecture_repo, _automation_relative] |\n  path_join\n}}, patterns=*.yaml] ***\nFriday 12 June 2026  20:22:11 +0000 (0:00:00.092)       0:00:15.600 *********** \nFriday 12 June 2026  20:22:11 +0000 (0:00:00.092)       0:00:15.599 *********** \nok: [localhost]\n\nTASK [Get automation contents path={{ item.path }}] ****************************\nFriday 12 June 2026  20:22:12 +0000 (0:00:00.319)       0:00:15.919 *********** \nFriday 12 June 2026  20:22:12 +0000 (0:00:00.319)       0:00:15.918 *********** \nok: [localhost] => (item=bgp-l3-xl-adoption.yaml)\nok: [localhost] => (item=bgp-l3-xl.yaml)\nok: [localhost] => (item=bgp_dt01.yaml)\nok: [localhost] => (item=bgp_dt04_ipv6.yaml)\nok: [localhost] => (item=bmo01.yaml)\nok: [localhost] => (item=dcn.yaml)\nok: [localhost] => (item=dt-sharded.yaml)\nok: [localhost] => (item=dz-storage.yaml)\nok: [localhost] => (item=hci-adoption.yaml)\nok: [localhost] => (item=hci-ironic.yaml)\nok: [localhost] => (item=hci.yaml)\nok: [localhost] => (item=multi-namespace-skmo.yaml)\nok: [localhost] => (item=multi-namespace.yaml)\nok: [localhost] => (item=nfv-ovs-dpdk-sriov-adoption.yaml)\nok: [localhost] => (item=nfv-ovs-dpdk-sriov-hci.yaml)\nok: [localhost] => (item=nova-three-cells.yaml)\nok: [localhost] => (item=nova01alpha.yaml)\nok: [localhost] => (item=nova02beta.yaml)\nok: [localhost] => (item=nova03gamma.yaml)\nok: [localhost] => (item=nova04delta-adoption.yaml)\nok: [localhost] => (item=nova04delta.yaml)\nok: [localhost] => (item=nova05epsilon.yaml)\nok: [localhost] => (item=nvidia-mdev.yaml)\nok: [localhost] => (item=nvidia-vfio-passthrough-adoption.yaml)\nok: [localhost] => (item=nvidia-vfio-passthrough.yaml)\nok: [localhost] => (item=osasinfra-ipv6.yaml)\nok: [localhost] => (item=osasinfra.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-2nodesets.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-ipv6-2nodesets.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-ipv6.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-networker.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov.yaml)\nok: [localhost] => (item=ovs-dpdk.yaml)\nok: [localhost] => (item=pidone.yaml)\nok: [localhost] => (item=sriov.yaml)\nok: [localhost] => (item=uni01alpha-adoption.yaml)\nok: [localhost] => (item=uni01alpha.yaml)\nok: [localhost] => (item=uni02beta-adoption.yaml)\nok: [localhost] => (item=uni02beta.yaml)\nok: [localhost] => (item=uni04delta-adoption.yaml)\nok: [localhost] => (item=uni04delta-ipv6-adoption.yaml)\nok: [localhost] => (item=uni04delta-ipv6.yaml)\nok: [localhost] => (item=uni04delta.yaml)\nok: [localhost] => (item=uni05epsilon-adoption.yaml)\nok: [localhost] => (item=uni05epsilon.yaml)\nok: [localhost] => (item=uni06zeta-adoption.yaml)\nok: [localhost] => (item=uni06zeta.yaml)\nok: [localhost] => (item=uni07eta-adoption.yaml)\nok: [localhost] => (item=uni07eta.yaml)\nok: [localhost] => (item=uni09iota-adoption.yaml)\nok: [localhost] => (item=uni09iota.yaml)\nok: [localhost] => (item=vhosts-compact.yaml)\n\nTASK [Load automation files as fact vas={{\n  vas | default({}) |\n  combine(item.content | b64decode | from_yaml, recursive=true)\n}}] ***\nFriday 12 June 2026  20:22:20 +0000 (0:00:08.231)       0:00:24.151 *********** \nFriday 12 June 2026  20:22:20 +0000 (0:00:08.231)       0:00:24.150 *********** \nok: [localhost] => (item=bgp-l3-xl-adoption.yaml)\nok: [localhost] => (item=bgp-l3-xl.yaml)\nok: [localhost] => (item=bgp_dt01.yaml)\nok: [localhost] => (item=bgp_dt04_ipv6.yaml)\nok: [localhost] => (item=bmo01.yaml)\nok: [localhost] => (item=dcn.yaml)\nok: [localhost] => (item=dt-sharded.yaml)\nok: [localhost] => (item=dz-storage.yaml)\nok: [localhost] => (item=hci-adoption.yaml)\nok: [localhost] => (item=hci-ironic.yaml)\nok: [localhost] => (item=hci.yaml)\nok: [localhost] => (item=multi-namespace-skmo.yaml)\nok: [localhost] => (item=multi-namespace.yaml)\nok: [localhost] => (item=nfv-ovs-dpdk-sriov-adoption.yaml)\nok: [localhost] => (item=nfv-ovs-dpdk-sriov-hci.yaml)\nok: [localhost] => (item=nova-three-cells.yaml)\nok: [localhost] => (item=nova01alpha.yaml)\nok: [localhost] => (item=nova02beta.yaml)\nok: [localhost] => (item=nova03gamma.yaml)\nok: [localhost] => (item=nova04delta-adoption.yaml)\nok: [localhost] => (item=nova04delta.yaml)\nok: [localhost] => (item=nova05epsilon.yaml)\nok: [localhost] => (item=nvidia-mdev.yaml)\nok: [localhost] => (item=nvidia-vfio-passthrough-adoption.yaml)\nok: [localhost] => (item=nvidia-vfio-passthrough.yaml)\nok: [localhost] => (item=osasinfra-ipv6.yaml)\nok: [localhost] => (item=osasinfra.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-2nodesets.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-ipv6-2nodesets.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-ipv6.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov-networker.yaml)\nok: [localhost] => (item=ovs-dpdk-sriov.yaml)\nok: [localhost] => (item=ovs-dpdk.yaml)\nok: [localhost] => (item=pidone.yaml)\nok: [localhost] => (item=sriov.yaml)\nok: [localhost] => (item=uni01alpha-adoption.yaml)\nok: [localhost] => (item=uni01alpha.yaml)\nok: [localhost] => (item=uni02beta-adoption.yaml)\nok: [localhost] => (item=uni02beta.yaml)\nok: [localhost] => (item=uni04delta-adoption.yaml)\nok: [localhost] => (item=uni04delta-ipv6-adoption.yaml)\nok: [localhost] => (item=uni04delta-ipv6.yaml)\nok: [localhost] => (item=uni04delta.yaml)\nok: [localhost] => (item=uni05epsilon-adoption.yaml)\nok: [localhost] => (item=uni05epsilon.yaml)\nok: [localhost] => (item=uni06zeta-adoption.yaml)\nok: [localhost] => (item=uni06zeta.yaml)\nok: [localhost] => (item=uni07eta-adoption.yaml)\nok: [localhost] => (item=uni07eta.yaml)\nok: [localhost] => (item=uni09iota-adoption.yaml)\nok: [localhost] => (item=uni09iota.yaml)\nok: [localhost] => (item=vhosts-compact.yaml)\n\nTASK [Prepare automation data cifmw_deploy_architecture_steps={{ vas['vas'][cifmw_architecture_scenario] }}] ***\nFriday 12 June 2026  20:22:22 +0000 (0:00:02.052)       0:00:26.204 *********** \nFriday 12 June 2026  20:22:22 +0000 (0:00:02.052)       0:00:26.202 *********** \nok: [localhost]\n\nTASK [Create needed SSH keypairs comment={{ item.comment }}, path={{ item.path }}, type=ecdsa, size=521] ***\nFriday 12 June 2026  20:22:22 +0000 (0:00:00.049)       0:00:26.253 *********** \nFriday 12 June 2026  20:22:22 +0000 (0:00:00.049)       0:00:26.252 *********** \nchanged: [localhost] => (item={'comment': 'Nova migration', 'path': '/home/zuul/ci-framework-data/artifacts/ecdsa_nova_migration'})\nchanged: [localhost] => (item={'comment': 'EDPM deploy key', 'path': '/home/zuul/ci-framework-data/artifacts/ecdsa_deploy'})\n\nTASK [Load public SSH keys path={{ item }}] ************************************\nFriday 12 June 2026  20:22:23 +0000 (0:00:00.651)       0:00:26.905 *********** \nFriday 12 June 2026  20:22:23 +0000 (0:00:00.651)       0:00:26.904 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_nova_migration.pub)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_deploy.pub)\n\nTASK [Load private SSH keys path={{ item }}] ***********************************\nFriday 12 June 2026  20:22:23 +0000 (0:00:00.404)       0:00:27.310 *********** \nFriday 12 June 2026  20:22:23 +0000 (0:00:00.404)       0:00:27.309 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_nova_migration)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_deploy)\n\nTASK [Generate needed facts out of local files cifmw_ci_gen_kustomize_values_ssh_authorizedkeys={{\n  _pub_keys.results[1].content | b64decode\n}}, cifmw_ci_gen_kustomize_values_ssh_private_key={{\n  _priv_keys.results[1].content | b64decode\n}}, cifmw_ci_gen_kustomize_values_ssh_public_key={{\n  _pub_keys.results[1].content | b64decode\n}}, cifmw_ci_gen_kustomize_values_migration_pub_key={{\n  _pub_keys.results[0].content | b64decode\n}}, cifmw_ci_gen_kustomize_values_migration_priv_key={{\n  _priv_keys.results[0].content | b64decode\n}}, cifmw_ci_gen_kustomize_values_sshd_ranges={{\n  [\n    cifmw_networking_env_definition.networks.ctlplane.network_v4 | default (none),\n    cifmw_networking_env_definition.networks.ctlplane.network_v6 | default (none)\n  ] | select()\n}}] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.407)       0:00:27.718 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.407)       0:00:27.716 *********** \nok: [localhost]\n\nTASK [Execute deployment steps name=kustomize_deploy, tasks_from=execute_step.yml, apply={'tags': ['edpm_deploy']}] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.073)       0:00:27.791 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.073)       0:00:27.790 *********** \n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.353)       0:00:28.145 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.353)       0:00:28.144 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.057)       0:00:28.202 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.057)       0:00:28.201 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.032)       0:00:28.235 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.032)       0:00:28.234 *********** \nok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.048)       0:00:28.284 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.048)       0:00:28.282 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.040)       0:00:28.325 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.040)       0:00:28.323 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.049)       0:00:28.375 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.049)       0:00:28.373 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:24 +0000 (0:00:00.085)       0:00:28.460 *********** \nFriday 12 June 2026  20:22:24 +0000 (0:00:00.085)       0:00:28.459 *********** \nok: [localhost] => (item={'name': 'namespace-values', 'src_file': 'values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.258)       0:00:28.718 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.258)       0:00:28.717 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace/namespace name=run_hook] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.082)       0:00:28.801 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.082)       0:00:28.800 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace/namespace name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:28.858 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:28.857 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.105)       0:00:28.964 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.105)       0:00:28.963 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:29.021 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:29.020 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.079)       0:00:29.101 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.079)       0:00:29.099 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.056)       0:00:29.157 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.056)       0:00:29.155 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.225)       0:00:29.383 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.225)       0:00:29.381 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:22:25 +0000 (0:00:00.068)       0:00:29.451 *********** \nFriday 12 June 2026  20:22:25 +0000 (0:00:00.068)       0:00:29.450 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:22:26 +0000 (0:00:00.205)       0:00:29.656 *********** \nFriday 12 June 2026  20:22:26 +0000 (0:00:00.205)       0:00:29.655 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:22:26 +0000 (0:00:00.254)       0:00:29.911 *********** \nFriday 12 June 2026  20:22:26 +0000 (0:00:00.254)       0:00:29.910 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:26 +0000 (0:00:00.049)       0:00:29.961 *********** \nFriday 12 June 2026  20:22:26 +0000 (0:00:00.049)       0:00:29.960 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:22:26 +0000 (0:00:00.204)       0:00:30.166 *********** \nFriday 12 June 2026  20:22:26 +0000 (0:00:00.204)       0:00:30.164 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:22:26 +0000 (0:00:00.093)       0:00:30.259 *********** \nFriday 12 June 2026  20:22:26 +0000 (0:00:00.093)       0:00:30.258 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:26 +0000 (0:00:00.076)       0:00:30.336 *********** \nFriday 12 June 2026  20:22:26 +0000 (0:00:00.076)       0:00:30.335 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:27 +0000 (0:00:00.624)       0:00:30.960 *********** \nFriday 12 June 2026  20:22:27 +0000 (0:00:00.624)       0:00:30.959 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:27 +0000 (0:00:00.496)       0:00:31.457 *********** \nFriday 12 June 2026  20:22:27 +0000 (0:00:00.496)       0:00:31.456 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:22:28 +0000 (0:00:00.470)       0:00:31.928 *********** \nFriday 12 June 2026  20:22:28 +0000 (0:00:00.470)       0:00:31.927 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:22:28 +0000 (0:00:00.105)       0:00:32.034 *********** \nFriday 12 June 2026  20:22:28 +0000 (0:00:00.105)       0:00:32.032 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:22:28 +0000 (0:00:00.073)       0:00:32.107 *********** \nFriday 12 June 2026  20:22:28 +0000 (0:00:00.073)       0:00:32.106 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:22:28 +0000 (0:00:00.249)       0:00:32.356 *********** \nFriday 12 June 2026  20:22:28 +0000 (0:00:00.249)       0:00:32.355 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:22:28 +0000 (0:00:00.087)       0:00:32.443 *********** \nFriday 12 June 2026  20:22:28 +0000 (0:00:00.087)       0:00:32.442 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:22:29 +0000 (0:00:00.496)       0:00:32.940 *********** \nFriday 12 June 2026  20:22:29 +0000 (0:00:00.496)       0:00:32.939 *********** \nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:29 +0000 (0:00:00.110)       0:00:33.051 *********** \nFriday 12 June 2026  20:22:29 +0000 (0:00:00.110)       0:00:33.050 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:29 +0000 (0:00:00.276)       0:00:33.327 *********** \nFriday 12 June 2026  20:22:29 +0000 (0:00:00.276)       0:00:33.326 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace/namespace mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:22:30 +0000 (0:00:00.456)       0:00:33.784 *********** \nFriday 12 June 2026  20:22:30 +0000 (0:00:00.456)       0:00:33.783 *********** \nchanged: [localhost] => (item=namespace-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:30 +0000 (0:00:00.335)       0:00:34.119 *********** \nFriday 12 June 2026  20:22:30 +0000 (0:00:00.335)       0:00:34.118 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace/namespace chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:22:30 +0000 (0:00:00.078)       0:00:34.198 *********** \nFriday 12 June 2026  20:22:30 +0000 (0:00:00.078)       0:00:34.197 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:22:31 +0000 (0:00:00.429)       0:00:34.627 *********** \nFriday 12 June 2026  20:22:31 +0000 (0:00:00.429)       0:00:34.626 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace/namespace executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:22:31 +0000 (0:00:00.554)       0:00:35.182 *********** \nFriday 12 June 2026  20:22:31 +0000 (0:00:00.554)       0:00:35.181 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:22:31 +0000 (0:00:00.123)       0:00:35.305 *********** \nFriday 12 June 2026  20:22:31 +0000 (0:00:00.123)       0:00:35.304 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace/namespace remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:31 +0000 (0:00:00.075)       0:00:35.381 *********** \nFriday 12 June 2026  20:22:31 +0000 (0:00:00.075)       0:00:35.379 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.303)       0:00:35.685 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.303)       0:00:35.684 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace/namespace _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.084)       0:00:35.770 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.084)       0:00:35.768 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace/namespace _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.080)       0:00:35.850 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.080)       0:00:35.849 *********** \nskipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.074)       0:00:35.925 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.074)       0:00:35.924 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace/namespace name=run_hook] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.069)       0:00:35.994 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.069)       0:00:35.993 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.079)       0:00:36.074 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.079)       0:00:36.073 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.056)       0:00:36.130 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.056)       0:00:36.129 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.040)       0:00:36.170 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.040)       0:00:36.169 *********** \nok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.042)       0:00:36.213 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.042)       0:00:36.211 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.041)       0:00:36.254 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.041)       0:00:36.253 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.044)       0:00:36.299 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.044)       0:00:36.297 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:32 +0000 (0:00:00.060)       0:00:36.359 *********** \nFriday 12 June 2026  20:22:32 +0000 (0:00:00.060)       0:00:36.358 *********** \nok: [localhost] => (item={'name': 'network-values', 'src_file': '../../../../multi-namespace/control-plane/networking/nncp/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.267)       0:00:36.627 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.267)       0:00:36.626 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking/nncp name=run_hook] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.105)       0:00:36.732 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.105)       0:00:36.731 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane/networking/nncp name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.074)       0:00:36.807 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.074)       0:00:36.805 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.135)       0:00:36.943 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.135)       0:00:36.941 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.078)       0:00:37.021 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.078)       0:00:37.020 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.091)       0:00:37.113 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.091)       0:00:37.112 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.060)       0:00:37.173 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.060)       0:00:37.172 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.264)       0:00:37.437 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.264)       0:00:37.436 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:22:33 +0000 (0:00:00.077)       0:00:37.515 *********** \nFriday 12 June 2026  20:22:33 +0000 (0:00:00.077)       0:00:37.514 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:22:34 +0000 (0:00:00.240)       0:00:37.755 *********** \nFriday 12 June 2026  20:22:34 +0000 (0:00:00.240)       0:00:37.754 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:22:34 +0000 (0:00:00.263)       0:00:38.019 *********** \nFriday 12 June 2026  20:22:34 +0000 (0:00:00.263)       0:00:38.018 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/network_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Assert we have needed parameters that=['cifmw_networking_env_definition is defined']] ***\nFriday 12 June 2026  20:22:34 +0000 (0:00:00.103)       0:00:38.122 *********** \nFriday 12 June 2026  20:22:34 +0000 (0:00:00.103)       0:00:38.121 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:34 +0000 (0:00:00.077)       0:00:38.200 *********** \nFriday 12 June 2026  20:22:34 +0000 (0:00:00.077)       0:00:38.199 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:22:34 +0000 (0:00:00.262)       0:00:38.462 *********** \nFriday 12 June 2026  20:22:34 +0000 (0:00:00.262)       0:00:38.461 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:22:35 +0000 (0:00:00.599)       0:00:39.062 *********** \nFriday 12 June 2026  20:22:35 +0000 (0:00:00.599)       0:00:39.060 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:35 +0000 (0:00:00.079)       0:00:39.141 *********** \nFriday 12 June 2026  20:22:35 +0000 (0:00:00.079)       0:00:39.140 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:36 +0000 (0:00:00.489)       0:00:39.630 *********** \nFriday 12 June 2026  20:22:36 +0000 (0:00:00.489)       0:00:39.629 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:36 +0000 (0:00:00.532)       0:00:40.163 *********** \nFriday 12 June 2026  20:22:36 +0000 (0:00:00.533)       0:00:40.162 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:22:37 +0000 (0:00:00.495)       0:00:40.659 *********** \nFriday 12 June 2026  20:22:37 +0000 (0:00:00.495)       0:00:40.658 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:22:37 +0000 (0:00:00.121)       0:00:40.780 *********** \nFriday 12 June 2026  20:22:37 +0000 (0:00:00.121)       0:00:40.779 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:22:37 +0000 (0:00:00.075)       0:00:40.856 *********** \nFriday 12 June 2026  20:22:37 +0000 (0:00:00.075)       0:00:40.855 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:22:37 +0000 (0:00:00.247)       0:00:41.103 *********** \nFriday 12 June 2026  20:22:37 +0000 (0:00:00.247)       0:00:41.102 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:22:37 +0000 (0:00:00.060)       0:00:41.164 *********** \nFriday 12 June 2026  20:22:37 +0000 (0:00:00.060)       0:00:41.162 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:22:38 +0000 (0:00:00.660)       0:00:41.824 *********** \nFriday 12 June 2026  20:22:38 +0000 (0:00:00.660)       0:00:41.823 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:38 +0000 (0:00:00.211)       0:00:42.036 *********** \nFriday 12 June 2026  20:22:38 +0000 (0:00:00.211)       0:00:42.035 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:38 +0000 (0:00:00.273)       0:00:42.310 *********** \nFriday 12 June 2026  20:22:38 +0000 (0:00:00.273)       0:00:42.308 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane/networking/nncp mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:22:39 +0000 (0:00:00.505)       0:00:42.815 *********** \nFriday 12 June 2026  20:22:39 +0000 (0:00:00.505)       0:00:42.813 *********** \nchanged: [localhost] => (item=network-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:39 +0000 (0:00:00.355)       0:00:43.170 *********** \nFriday 12 June 2026  20:22:39 +0000 (0:00:00.355)       0:00:43.169 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane/networking/nncp chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:22:39 +0000 (0:00:00.080)       0:00:43.251 *********** \nFriday 12 June 2026  20:22:39 +0000 (0:00:00.080)       0:00:43.250 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:22:40 +0000 (0:00:00.660)       0:00:43.912 *********** \nFriday 12 June 2026  20:22:40 +0000 (0:00:00.660)       0:00:43.911 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane/networking/nncp executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:22:40 +0000 (0:00:00.452)       0:00:44.364 *********** \nFriday 12 June 2026  20:22:40 +0000 (0:00:00.452)       0:00:44.363 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:22:40 +0000 (0:00:00.071)       0:00:44.436 *********** \nFriday 12 June 2026  20:22:40 +0000 (0:00:00.071)       0:00:44.434 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane/networking/nncp remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:40 +0000 (0:00:00.069)       0:00:44.505 *********** \nFriday 12 June 2026  20:22:40 +0000 (0:00:00.069)       0:00:44.504 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.326)       0:00:44.831 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.326)       0:00:44.830 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane/networking/nncp _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:44.893 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:44.891 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane/networking/nncp _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.052)       0:00:44.945 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.052)       0:00:44.944 *********** \nskipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.077)       0:00:45.023 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.078)       0:00:45.022 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking/nncp name=run_hook] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.075)       0:00:45.099 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.075)       0:00:45.098 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.079)       0:00:45.179 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.079)       0:00:45.177 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:45.240 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:45.239 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.028)       0:00:45.268 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.028)       0:00:45.267 *********** \nok: [localhost] => (item=oc -n openstack2 wait nncp -l osp/nncm-config-type=standard --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.043)       0:00:45.312 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.043)       0:00:45.310 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.024)       0:00:45.336 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.024)       0:00:45.335 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.048)       0:00:45.385 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.048)       0:00:45.383 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:41 +0000 (0:00:00.058)       0:00:45.443 *********** \nFriday 12 June 2026  20:22:41 +0000 (0:00:00.058)       0:00:45.442 *********** \nok: [localhost] => (item={'name': 'network-values2', 'src_file': '../../../../multi-namespace/control-plane2/networking/nncp/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.247)       0:00:45.691 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.247)       0:00:45.689 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking/nncp name=run_hook] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.088)       0:00:45.779 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.088)       0:00:45.778 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane2/networking/nncp name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.062)       0:00:45.842 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.062)       0:00:45.840 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.134)       0:00:45.976 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.134)       0:00:45.975 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.075)       0:00:46.052 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.075)       0:00:46.050 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.099)       0:00:46.151 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.099)       0:00:46.149 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.076)       0:00:46.227 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.076)       0:00:46.226 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.256)       0:00:46.484 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.256)       0:00:46.483 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:22:42 +0000 (0:00:00.082)       0:00:46.566 *********** \nFriday 12 June 2026  20:22:42 +0000 (0:00:00.082)       0:00:46.565 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:22:43 +0000 (0:00:00.248)       0:00:46.814 *********** \nFriday 12 June 2026  20:22:43 +0000 (0:00:00.248)       0:00:46.813 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:22:43 +0000 (0:00:00.290)       0:00:47.105 *********** \nFriday 12 June 2026  20:22:43 +0000 (0:00:00.290)       0:00:47.104 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:43 +0000 (0:00:00.042)       0:00:47.148 *********** \nFriday 12 June 2026  20:22:43 +0000 (0:00:00.042)       0:00:47.146 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:22:43 +0000 (0:00:00.179)       0:00:47.327 *********** \nFriday 12 June 2026  20:22:43 +0000 (0:00:00.179)       0:00:47.326 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:22:44 +0000 (0:00:00.607)       0:00:47.935 *********** \nFriday 12 June 2026  20:22:44 +0000 (0:00:00.607)       0:00:47.934 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:44 +0000 (0:00:00.107)       0:00:48.043 *********** \nFriday 12 June 2026  20:22:44 +0000 (0:00:00.107)       0:00:48.042 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:44 +0000 (0:00:00.504)       0:00:48.547 *********** \nFriday 12 June 2026  20:22:44 +0000 (0:00:00.504)       0:00:48.546 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:45 +0000 (0:00:00.512)       0:00:49.060 *********** \nFriday 12 June 2026  20:22:45 +0000 (0:00:00.512)       0:00:49.058 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:22:45 +0000 (0:00:00.510)       0:00:49.570 *********** \nFriday 12 June 2026  20:22:45 +0000 (0:00:00.510)       0:00:49.569 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:22:46 +0000 (0:00:00.118)       0:00:49.689 *********** \nFriday 12 June 2026  20:22:46 +0000 (0:00:00.118)       0:00:49.688 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:22:46 +0000 (0:00:00.077)       0:00:49.767 *********** \nFriday 12 June 2026  20:22:46 +0000 (0:00:00.077)       0:00:49.766 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:22:46 +0000 (0:00:00.260)       0:00:50.027 *********** \nFriday 12 June 2026  20:22:46 +0000 (0:00:00.260)       0:00:50.026 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:22:46 +0000 (0:00:00.084)       0:00:50.112 *********** \nFriday 12 June 2026  20:22:46 +0000 (0:00:00.084)       0:00:50.110 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:22:47 +0000 (0:00:00.675)       0:00:50.787 *********** \nFriday 12 June 2026  20:22:47 +0000 (0:00:00.675)       0:00:50.786 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:47 +0000 (0:00:00.179)       0:00:50.966 *********** \nFriday 12 June 2026  20:22:47 +0000 (0:00:00.179)       0:00:50.965 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:47 +0000 (0:00:00.272)       0:00:51.239 *********** \nFriday 12 June 2026  20:22:47 +0000 (0:00:00.272)       0:00:51.237 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2/networking/nncp mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:22:48 +0000 (0:00:00.494)       0:00:51.733 *********** \nFriday 12 June 2026  20:22:48 +0000 (0:00:00.494)       0:00:51.732 *********** \nchanged: [localhost] => (item=network-values2)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:48 +0000 (0:00:00.323)       0:00:52.057 *********** \nFriday 12 June 2026  20:22:48 +0000 (0:00:00.323)       0:00:52.056 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2/networking/nncp chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:22:48 +0000 (0:00:00.064)       0:00:52.122 *********** \nFriday 12 June 2026  20:22:48 +0000 (0:00:00.064)       0:00:52.120 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:22:49 +0000 (0:00:00.613)       0:00:52.736 *********** \nFriday 12 June 2026  20:22:49 +0000 (0:00:00.613)       0:00:52.734 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane2/networking/nncp executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:22:49 +0000 (0:00:00.483)       0:00:53.220 *********** \nFriday 12 June 2026  20:22:49 +0000 (0:00:00.483)       0:00:53.218 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:22:49 +0000 (0:00:00.086)       0:00:53.306 *********** \nFriday 12 June 2026  20:22:49 +0000 (0:00:00.086)       0:00:53.304 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane2/networking/nncp remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:49 +0000 (0:00:00.081)       0:00:53.387 *********** \nFriday 12 June 2026  20:22:49 +0000 (0:00:00.081)       0:00:53.386 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.305)       0:00:53.693 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.305)       0:00:53.692 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane2/networking/nncp _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.078)       0:00:53.771 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.078)       0:00:53.770 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane2/networking/nncp _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.843 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.841 *********** \nskipping: [localhost] => (item=oc -n openstack2 wait nncp -l osp/nncm-config-type=standard --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.914 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.913 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking/nncp name=run_hook] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:53.976 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:53.975 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.084)       0:00:54.060 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.084)       0:00:54.059 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.070)       0:00:54.131 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.070)       0:00:54.130 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.043)       0:00:54.174 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.043)       0:00:54.173 *********** \nok: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.045)       0:00:54.220 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.045)       0:00:54.218 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.028)       0:00:54.248 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.028)       0:00:54.247 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.041)       0:00:54.290 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.041)       0:00:54.289 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:54.353 *********** \nFriday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:54.352 *********** \nok: [localhost] => (item={'name': 'network-values', 'src_file': '../../../multi-namespace/control-plane/networking/nncp/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.262)       0:00:54.615 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.262)       0:00:54.614 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking name=run_hook] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.079)       0:00:54.695 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.079)       0:00:54.694 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane/networking name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.060)       0:00:54.756 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.060)       0:00:54.755 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.118)       0:00:54.874 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.118)       0:00:54.873 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.051)       0:00:54.926 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.051)       0:00:54.925 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.120)       0:00:55.047 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.120)       0:00:55.045 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.063)       0:00:55.110 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.063)       0:00:55.109 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.256)       0:00:55.367 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.256)       0:00:55.365 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:22:51 +0000 (0:00:00.094)       0:00:55.461 *********** \nFriday 12 June 2026  20:22:51 +0000 (0:00:00.094)       0:00:55.460 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:22:52 +0000 (0:00:00.275)       0:00:55.737 *********** \nFriday 12 June 2026  20:22:52 +0000 (0:00:00.275)       0:00:55.736 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:22:52 +0000 (0:00:00.312)       0:00:56.050 *********** \nFriday 12 June 2026  20:22:52 +0000 (0:00:00.312)       0:00:56.048 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/network_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Assert we have needed parameters that=['cifmw_networking_env_definition is defined']] ***\nFriday 12 June 2026  20:22:52 +0000 (0:00:00.094)       0:00:56.144 *********** \nFriday 12 June 2026  20:22:52 +0000 (0:00:00.094)       0:00:56.142 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:52 +0000 (0:00:00.050)       0:00:56.194 *********** \nFriday 12 June 2026  20:22:52 +0000 (0:00:00.050)       0:00:56.193 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:22:52 +0000 (0:00:00.246)       0:00:56.441 *********** \nFriday 12 June 2026  20:22:52 +0000 (0:00:00.246)       0:00:56.439 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:22:53 +0000 (0:00:00.658)       0:00:57.099 *********** \nFriday 12 June 2026  20:22:53 +0000 (0:00:00.658)       0:00:57.098 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:53 +0000 (0:00:00.101)       0:00:57.200 *********** \nFriday 12 June 2026  20:22:53 +0000 (0:00:00.101)       0:00:57.199 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:54 +0000 (0:00:00.484)       0:00:57.685 *********** \nFriday 12 June 2026  20:22:54 +0000 (0:00:00.484)       0:00:57.683 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:54 +0000 (0:00:00.474)       0:00:58.159 *********** \nFriday 12 June 2026  20:22:54 +0000 (0:00:00.474)       0:00:58.158 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:22:55 +0000 (0:00:00.510)       0:00:58.669 *********** \nFriday 12 June 2026  20:22:55 +0000 (0:00:00.510)       0:00:58.668 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:22:55 +0000 (0:00:00.125)       0:00:58.794 *********** \nFriday 12 June 2026  20:22:55 +0000 (0:00:00.124)       0:00:58.793 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:22:55 +0000 (0:00:00.085)       0:00:58.880 *********** \nFriday 12 June 2026  20:22:55 +0000 (0:00:00.085)       0:00:58.878 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:22:55 +0000 (0:00:00.385)       0:00:59.265 *********** \nFriday 12 June 2026  20:22:55 +0000 (0:00:00.385)       0:00:59.264 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:22:55 +0000 (0:00:00.042)       0:00:59.308 *********** \nFriday 12 June 2026  20:22:55 +0000 (0:00:00.042)       0:00:59.307 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:22:56 +0000 (0:00:00.569)       0:00:59.878 *********** \nFriday 12 June 2026  20:22:56 +0000 (0:00:00.569)       0:00:59.876 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:22:56 +0000 (0:00:00.124)       0:01:00.002 *********** \nFriday 12 June 2026  20:22:56 +0000 (0:00:00.124)       0:01:00.001 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:56 +0000 (0:00:00.204)       0:01:00.206 *********** \nFriday 12 June 2026  20:22:56 +0000 (0:00:00.204)       0:01:00.205 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane/networking mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:22:57 +0000 (0:00:00.483)       0:01:00.690 *********** \nFriday 12 June 2026  20:22:57 +0000 (0:00:00.483)       0:01:00.688 *********** \nok: [localhost] => (item=network-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:57 +0000 (0:00:00.298)       0:01:00.988 *********** \nFriday 12 June 2026  20:22:57 +0000 (0:00:00.298)       0:01:00.986 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane/networking chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:22:57 +0000 (0:00:00.078)       0:01:01.066 *********** \nFriday 12 June 2026  20:22:57 +0000 (0:00:00.078)       0:01:01.065 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:22:57 +0000 (0:00:00.539)       0:01:01.606 *********** \nFriday 12 June 2026  20:22:57 +0000 (0:00:00.539)       0:01:01.605 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane/networking executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:22:58 +0000 (0:00:00.518)       0:01:02.125 *********** \nFriday 12 June 2026  20:22:58 +0000 (0:00:00.518)       0:01:02.124 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:22:58 +0000 (0:00:00.055)       0:01:02.180 *********** \nFriday 12 June 2026  20:22:58 +0000 (0:00:00.055)       0:01:02.179 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane/networking remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:22:58 +0000 (0:00:00.058)       0:01:02.239 *********** \nFriday 12 June 2026  20:22:58 +0000 (0:00:00.058)       0:01:02.238 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:58 +0000 (0:00:00.338)       0:01:02.578 *********** \nFriday 12 June 2026  20:22:58 +0000 (0:00:00.338)       0:01:02.576 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane/networking _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.642 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.640 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane/networking _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.064)       0:01:02.706 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.064)       0:01:02.705 *********** \nskipping: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.068)       0:01:02.775 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.068)       0:01:02.774 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking name=run_hook] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.838 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.837 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.079)       0:01:02.917 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.079)       0:01:02.916 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.070)       0:01:02.988 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.070)       0:01:02.987 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.038)       0:01:03.027 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.038)       0:01:03.025 *********** \nok: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.044)       0:01:03.071 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.044)       0:01:03.070 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.033)       0:01:03.104 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.033)       0:01:03.103 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.051)       0:01:03.156 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.051)       0:01:03.155 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.055)       0:01:03.212 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.055)       0:01:03.211 *********** \nok: [localhost] => (item={'name': 'network-values2', 'src_file': '../../../multi-namespace/control-plane2/networking/nncp/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:22:59 +0000 (0:00:00.310)       0:01:03.523 *********** \nFriday 12 June 2026  20:22:59 +0000 (0:00:00.310)       0:01:03.521 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking name=run_hook] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.147)       0:01:03.670 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.147)       0:01:03.669 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane2/networking name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.077)       0:01:03.748 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.077)       0:01:03.746 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.106)       0:01:03.854 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.106)       0:01:03.853 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.049)       0:01:03.904 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.049)       0:01:03.902 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.068)       0:01:03.972 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.068)       0:01:03.971 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.074)       0:01:04.047 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.074)       0:01:04.045 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.248)       0:01:04.295 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.248)       0:01:04.294 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:00 +0000 (0:00:00.080)       0:01:04.376 *********** \nFriday 12 June 2026  20:23:00 +0000 (0:00:00.080)       0:01:04.375 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:01 +0000 (0:00:00.269)       0:01:04.646 *********** \nFriday 12 June 2026  20:23:01 +0000 (0:00:00.270)       0:01:04.645 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:01 +0000 (0:00:00.282)       0:01:04.929 *********** \nFriday 12 June 2026  20:23:01 +0000 (0:00:00.282)       0:01:04.928 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:01 +0000 (0:00:00.058)       0:01:04.987 *********** \nFriday 12 June 2026  20:23:01 +0000 (0:00:00.058)       0:01:04.986 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:01 +0000 (0:00:00.229)       0:01:05.217 *********** \nFriday 12 June 2026  20:23:01 +0000 (0:00:00.229)       0:01:05.216 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:02 +0000 (0:00:00.584)       0:01:05.802 *********** \nFriday 12 June 2026  20:23:02 +0000 (0:00:00.584)       0:01:05.800 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:02 +0000 (0:00:00.101)       0:01:05.904 *********** \nFriday 12 June 2026  20:23:02 +0000 (0:00:00.101)       0:01:05.902 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:02 +0000 (0:00:00.435)       0:01:06.339 *********** \nFriday 12 June 2026  20:23:02 +0000 (0:00:00.435)       0:01:06.338 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:03 +0000 (0:00:00.479)       0:01:06.819 *********** \nFriday 12 June 2026  20:23:03 +0000 (0:00:00.479)       0:01:06.818 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:03 +0000 (0:00:00.485)       0:01:07.305 *********** \nFriday 12 June 2026  20:23:03 +0000 (0:00:00.485)       0:01:07.303 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:03 +0000 (0:00:00.116)       0:01:07.422 *********** \nFriday 12 June 2026  20:23:03 +0000 (0:00:00.116)       0:01:07.420 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:03 +0000 (0:00:00.061)       0:01:07.483 *********** \nFriday 12 June 2026  20:23:03 +0000 (0:00:00.061)       0:01:07.482 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:04 +0000 (0:00:00.253)       0:01:07.737 *********** \nFriday 12 June 2026  20:23:04 +0000 (0:00:00.253)       0:01:07.736 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:04 +0000 (0:00:00.085)       0:01:07.823 *********** \nFriday 12 June 2026  20:23:04 +0000 (0:00:00.085)       0:01:07.821 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:04 +0000 (0:00:00.624)       0:01:08.447 *********** \nFriday 12 June 2026  20:23:04 +0000 (0:00:00.624)       0:01:08.446 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:05 +0000 (0:00:00.181)       0:01:08.629 *********** \nFriday 12 June 2026  20:23:05 +0000 (0:00:00.181)       0:01:08.627 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:05 +0000 (0:00:00.237)       0:01:08.866 *********** \nFriday 12 June 2026  20:23:05 +0000 (0:00:00.237)       0:01:08.865 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2/networking mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:23:05 +0000 (0:00:00.565)       0:01:09.431 *********** \nFriday 12 June 2026  20:23:05 +0000 (0:00:00.565)       0:01:09.430 *********** \nok: [localhost] => (item=network-values2)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:06 +0000 (0:00:00.317)       0:01:09.749 *********** \nFriday 12 June 2026  20:23:06 +0000 (0:00:00.317)       0:01:09.748 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2/networking chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:23:06 +0000 (0:00:00.077)       0:01:09.827 *********** \nFriday 12 June 2026  20:23:06 +0000 (0:00:00.077)       0:01:09.826 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:23:06 +0000 (0:00:00.639)       0:01:10.466 *********** \nFriday 12 June 2026  20:23:06 +0000 (0:00:00.639)       0:01:10.465 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane2/networking executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:23:07 +0000 (0:00:00.526)       0:01:10.992 *********** \nFriday 12 June 2026  20:23:07 +0000 (0:00:00.526)       0:01:10.991 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:23:07 +0000 (0:00:00.083)       0:01:11.075 *********** \nFriday 12 June 2026  20:23:07 +0000 (0:00:00.083)       0:01:11.074 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane2/networking remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:07 +0000 (0:00:00.092)       0:01:11.168 *********** \nFriday 12 June 2026  20:23:07 +0000 (0:00:00.092)       0:01:11.167 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:07 +0000 (0:00:00.346)       0:01:11.514 *********** \nFriday 12 June 2026  20:23:07 +0000 (0:00:00.346)       0:01:11.513 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane2/networking _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:23:07 +0000 (0:00:00.082)       0:01:11.597 *********** \nFriday 12 June 2026  20:23:07 +0000 (0:00:00.082)       0:01:11.596 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane2/networking _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.666 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.665 *********** \nskipping: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.734 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.733 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking name=run_hook] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.087)       0:01:11.821 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.087)       0:01:11.820 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.059)       0:01:11.880 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.059)       0:01:11.879 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.053)       0:01:11.934 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.053)       0:01:11.933 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.046)       0:01:11.981 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.046)       0:01:11.980 *********** \nok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for jsonpath='{.metadata.name}'=controlplane --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.021 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.020 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.061 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.059 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.052)       0:01:12.114 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.052)       0:01:12.112 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:08 +0000 (0:00:00.063)       0:01:12.177 *********** \nFriday 12 June 2026  20:23:08 +0000 (0:00:00.063)       0:01:12.176 *********** \nok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})\nok: [localhost] => (item={'name': 'network-values', 'src_file': '../../multi-namespace/control-plane/networking/nncp/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.495)       0:01:12.673 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.495)       0:01:12.672 *********** \nok: [localhost] => (item=service-values.yaml)\nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane name=run_hook] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.139)       0:01:12.812 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.139)       0:01:12.811 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.054)       0:01:12.867 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.054)       0:01:12.866 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.158)       0:01:13.025 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.158)       0:01:13.024 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.052)       0:01:13.077 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.052)       0:01:13.076 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.073)       0:01:13.151 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.073)       0:01:13.150 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.057)       0:01:13.209 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.057)       0:01:13.208 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.268)       0:01:13.477 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.268)       0:01:13.476 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:09 +0000 (0:00:00.083)       0:01:13.561 *********** \nFriday 12 June 2026  20:23:09 +0000 (0:00:00.083)       0:01:13.560 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:10 +0000 (0:00:00.247)       0:01:13.809 *********** \nFriday 12 June 2026  20:23:10 +0000 (0:00:00.247)       0:01:13.808 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:10 +0000 (0:00:00.258)       0:01:14.068 *********** \nFriday 12 June 2026  20:23:10 +0000 (0:00:00.258)       0:01:14.066 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.136 *********** \nFriday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.135 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:10 +0000 (0:00:00.252)       0:01:14.388 *********** \nFriday 12 June 2026  20:23:10 +0000 (0:00:00.252)       0:01:14.387 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:10 +0000 (0:00:00.085)       0:01:14.474 *********** \nFriday 12 June 2026  20:23:10 +0000 (0:00:00.085)       0:01:14.472 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.542 *********** \nFriday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.541 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:11 +0000 (0:00:00.469)       0:01:15.012 *********** \nFriday 12 June 2026  20:23:11 +0000 (0:00:00.469)       0:01:15.011 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:11 +0000 (0:00:00.468)       0:01:15.480 *********** \nFriday 12 June 2026  20:23:11 +0000 (0:00:00.467)       0:01:15.479 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:12 +0000 (0:00:00.473)       0:01:15.953 *********** \nFriday 12 June 2026  20:23:12 +0000 (0:00:00.473)       0:01:15.952 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:12 +0000 (0:00:00.116)       0:01:16.070 *********** \nFriday 12 June 2026  20:23:12 +0000 (0:00:00.116)       0:01:16.068 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:12 +0000 (0:00:00.072)       0:01:16.142 *********** \nFriday 12 June 2026  20:23:12 +0000 (0:00:00.072)       0:01:16.141 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:12 +0000 (0:00:00.267)       0:01:16.410 *********** \nFriday 12 June 2026  20:23:12 +0000 (0:00:00.267)       0:01:16.409 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:12 +0000 (0:00:00.073)       0:01:16.483 *********** \nFriday 12 June 2026  20:23:12 +0000 (0:00:00.073)       0:01:16.482 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:13 +0000 (0:00:00.478)       0:01:16.962 *********** \nFriday 12 June 2026  20:23:13 +0000 (0:00:00.479)       0:01:16.961 *********** \nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:13 +0000 (0:00:00.101)       0:01:17.064 *********** \nFriday 12 June 2026  20:23:13 +0000 (0:00:00.101)       0:01:17.062 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:13 +0000 (0:00:00.244)       0:01:17.308 *********** \nFriday 12 June 2026  20:23:13 +0000 (0:00:00.244)       0:01:17.307 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:14 +0000 (0:00:00.521)       0:01:17.830 *********** \nFriday 12 June 2026  20:23:14 +0000 (0:00:00.521)       0:01:17.829 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:14 +0000 (0:00:00.078)       0:01:17.908 *********** \nFriday 12 June 2026  20:23:14 +0000 (0:00:00.077)       0:01:17.907 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:14 +0000 (0:00:00.106)       0:01:18.015 *********** \nFriday 12 June 2026  20:23:14 +0000 (0:00:00.106)       0:01:18.014 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:14 +0000 (0:00:00.100)       0:01:18.116 *********** \nFriday 12 June 2026  20:23:14 +0000 (0:00:00.100)       0:01:18.114 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:14 +0000 (0:00:00.248)       0:01:18.364 *********** \nFriday 12 June 2026  20:23:14 +0000 (0:00:00.248)       0:01:18.363 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:14 +0000 (0:00:00.098)       0:01:18.463 *********** \nFriday 12 June 2026  20:23:14 +0000 (0:00:00.098)       0:01:18.462 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:15 +0000 (0:00:00.254)       0:01:18.718 *********** \nFriday 12 June 2026  20:23:15 +0000 (0:00:00.254)       0:01:18.717 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:15 +0000 (0:00:00.290)       0:01:19.008 *********** \nFriday 12 June 2026  20:23:15 +0000 (0:00:00.290)       0:01:19.007 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/network_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Assert we have needed parameters that=['cifmw_networking_env_definition is defined']] ***\nFriday 12 June 2026  20:23:15 +0000 (0:00:00.094)       0:01:19.102 *********** \nFriday 12 June 2026  20:23:15 +0000 (0:00:00.094)       0:01:19.101 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:15 +0000 (0:00:00.068)       0:01:19.171 *********** \nFriday 12 June 2026  20:23:15 +0000 (0:00:00.068)       0:01:19.170 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:15 +0000 (0:00:00.250)       0:01:19.422 *********** \nFriday 12 June 2026  20:23:15 +0000 (0:00:00.250)       0:01:19.421 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:16 +0000 (0:00:00.625)       0:01:20.047 *********** \nFriday 12 June 2026  20:23:16 +0000 (0:00:00.625)       0:01:20.046 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:16 +0000 (0:00:00.097)       0:01:20.145 *********** \nFriday 12 June 2026  20:23:16 +0000 (0:00:00.097)       0:01:20.144 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:17 +0000 (0:00:00.506)       0:01:20.651 *********** \nFriday 12 June 2026  20:23:17 +0000 (0:00:00.506)       0:01:20.650 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:17 +0000 (0:00:00.513)       0:01:21.165 *********** \nFriday 12 June 2026  20:23:17 +0000 (0:00:00.513)       0:01:21.164 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:18 +0000 (0:00:00.517)       0:01:21.683 *********** \nFriday 12 June 2026  20:23:18 +0000 (0:00:00.517)       0:01:21.681 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:18 +0000 (0:00:00.120)       0:01:21.803 *********** \nFriday 12 June 2026  20:23:18 +0000 (0:00:00.120)       0:01:21.802 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:18 +0000 (0:00:00.090)       0:01:21.893 *********** \nFriday 12 June 2026  20:23:18 +0000 (0:00:00.090)       0:01:21.892 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:18 +0000 (0:00:00.267)       0:01:22.161 *********** \nFriday 12 June 2026  20:23:18 +0000 (0:00:00.267)       0:01:22.159 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:18 +0000 (0:00:00.060)       0:01:22.221 *********** \nFriday 12 June 2026  20:23:18 +0000 (0:00:00.060)       0:01:22.220 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:19 +0000 (0:00:00.658)       0:01:22.879 *********** \nFriday 12 June 2026  20:23:19 +0000 (0:00:00.658)       0:01:22.878 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:19 +0000 (0:00:00.191)       0:01:23.071 *********** \nFriday 12 June 2026  20:23:19 +0000 (0:00:00.191)       0:01:23.070 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:19 +0000 (0:00:00.264)       0:01:23.336 *********** \nFriday 12 June 2026  20:23:19 +0000 (0:00:00.264)       0:01:23.335 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:23:20 +0000 (0:00:00.508)       0:01:23.845 *********** \nFriday 12 June 2026  20:23:20 +0000 (0:00:00.508)       0:01:23.844 *********** \nchanged: [localhost] => (item=service-values)\nok: [localhost] => (item=network-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:20 +0000 (0:00:00.652)       0:01:24.498 *********** \nFriday 12 June 2026  20:23:20 +0000 (0:00:00.653)       0:01:24.497 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:23:20 +0000 (0:00:00.083)       0:01:24.582 *********** \nFriday 12 June 2026  20:23:20 +0000 (0:00:00.083)       0:01:24.580 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:23:21 +0000 (0:00:00.614)       0:01:25.196 *********** \nFriday 12 June 2026  20:23:21 +0000 (0:00:00.614)       0:01:25.195 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.446)       0:01:25.642 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.446)       0:01:25.641 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.070)       0:01:25.713 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.070)       0:01:25.711 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.082)       0:01:25.795 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.082)       0:01:25.794 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.332)       0:01:26.128 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.332)       0:01:26.127 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.081)       0:01:26.210 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.081)       0:01:26.209 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.101)       0:01:26.311 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.101)       0:01:26.310 *********** \nskipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for jsonpath='{.metadata.name}'=controlplane --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.371 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.370 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane name=run_hook] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.051)       0:01:26.423 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.051)       0:01:26.422 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.484 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.483 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.054)       0:01:26.538 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.054)       0:01:26.537 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:22 +0000 (0:00:00.035)       0:01:26.574 *********** \nFriday 12 June 2026  20:23:22 +0000 (0:00:00.035)       0:01:26.572 *********** \nok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=60m)\nok: [localhost] => (item=oc -n openstack2 wait osctlplane controlplane --for condition=Ready --timeout=60m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.059)       0:01:26.633 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.059)       0:01:26.631 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.030)       0:01:26.663 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.030)       0:01:26.661 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.058)       0:01:26.721 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.058)       0:01:26.720 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.079)       0:01:26.801 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.079)       0:01:26.800 *********** \nok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})\nok: [localhost] => (item={'name': 'network-values2', 'src_file': '../../multi-namespace/control-plane2/networking/nncp/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.471)       0:01:27.272 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.471)       0:01:27.271 *********** \nok: [localhost] => (item=service-values.yaml)\nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane2 name=run_hook] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.124)       0:01:27.397 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.124)       0:01:27.396 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane2 name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:23:23 +0000 (0:00:00.060)       0:01:27.457 *********** \nFriday 12 June 2026  20:23:23 +0000 (0:00:00.060)       0:01:27.456 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.157)       0:01:27.615 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.157)       0:01:27.614 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.049)       0:01:27.665 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.049)       0:01:27.663 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.101)       0:01:27.766 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.101)       0:01:27.765 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.088)       0:01:27.854 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.088)       0:01:27.853 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.260)       0:01:28.114 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.260)       0:01:28.113 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.093)       0:01:28.208 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.093)       0:01:28.207 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:24 +0000 (0:00:00.250)       0:01:28.458 *********** \nFriday 12 June 2026  20:23:24 +0000 (0:00:00.250)       0:01:28.457 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:25 +0000 (0:00:00.243)       0:01:28.701 *********** \nFriday 12 June 2026  20:23:25 +0000 (0:00:00.243)       0:01:28.700 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:25 +0000 (0:00:00.089)       0:01:28.790 *********** \nFriday 12 June 2026  20:23:25 +0000 (0:00:00.089)       0:01:28.789 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:25 +0000 (0:00:00.225)       0:01:29.016 *********** \nFriday 12 June 2026  20:23:25 +0000 (0:00:00.225)       0:01:29.015 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:25 +0000 (0:00:00.100)       0:01:29.116 *********** \nFriday 12 June 2026  20:23:25 +0000 (0:00:00.100)       0:01:29.115 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:25 +0000 (0:00:00.108)       0:01:29.224 *********** \nFriday 12 June 2026  20:23:25 +0000 (0:00:00.108)       0:01:29.223 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:26 +0000 (0:00:00.488)       0:01:29.713 *********** \nFriday 12 June 2026  20:23:26 +0000 (0:00:00.488)       0:01:29.712 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:26 +0000 (0:00:00.505)       0:01:30.218 *********** \nFriday 12 June 2026  20:23:26 +0000 (0:00:00.505)       0:01:30.217 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:27 +0000 (0:00:00.519)       0:01:30.738 *********** \nFriday 12 June 2026  20:23:27 +0000 (0:00:00.519)       0:01:30.737 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:27 +0000 (0:00:00.100)       0:01:30.838 *********** \nFriday 12 June 2026  20:23:27 +0000 (0:00:00.100)       0:01:30.837 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:27 +0000 (0:00:00.059)       0:01:30.898 *********** \nFriday 12 June 2026  20:23:27 +0000 (0:00:00.059)       0:01:30.896 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:27 +0000 (0:00:00.236)       0:01:31.134 *********** \nFriday 12 June 2026  20:23:27 +0000 (0:00:00.236)       0:01:31.132 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:27 +0000 (0:00:00.057)       0:01:31.191 *********** \nFriday 12 June 2026  20:23:27 +0000 (0:00:00.057)       0:01:31.190 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:28 +0000 (0:00:00.485)       0:01:31.677 *********** \nFriday 12 June 2026  20:23:28 +0000 (0:00:00.485)       0:01:31.675 *********** \nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:28 +0000 (0:00:00.140)       0:01:31.817 *********** \nFriday 12 June 2026  20:23:28 +0000 (0:00:00.140)       0:01:31.816 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:28 +0000 (0:00:00.248)       0:01:32.066 *********** \nFriday 12 June 2026  20:23:28 +0000 (0:00:00.248)       0:01:32.064 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:28 +0000 (0:00:00.504)       0:01:32.570 *********** \nFriday 12 June 2026  20:23:28 +0000 (0:00:00.504)       0:01:32.569 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:29 +0000 (0:00:00.080)       0:01:32.650 *********** \nFriday 12 June 2026  20:23:29 +0000 (0:00:00.079)       0:01:32.649 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:29 +0000 (0:00:00.101)       0:01:32.751 *********** \nFriday 12 June 2026  20:23:29 +0000 (0:00:00.101)       0:01:32.750 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:29 +0000 (0:00:00.069)       0:01:32.821 *********** \nFriday 12 June 2026  20:23:29 +0000 (0:00:00.069)       0:01:32.820 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:29 +0000 (0:00:00.247)       0:01:33.069 *********** \nFriday 12 June 2026  20:23:29 +0000 (0:00:00.247)       0:01:33.068 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:29 +0000 (0:00:00.096)       0:01:33.165 *********** \nFriday 12 June 2026  20:23:29 +0000 (0:00:00.096)       0:01:33.164 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:29 +0000 (0:00:00.271)       0:01:33.437 *********** \nFriday 12 June 2026  20:23:29 +0000 (0:00:00.271)       0:01:33.436 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:30 +0000 (0:00:00.259)       0:01:33.696 *********** \nFriday 12 June 2026  20:23:30 +0000 (0:00:00.259)       0:01:33.695 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:30 +0000 (0:00:00.046)       0:01:33.743 *********** \nFriday 12 June 2026  20:23:30 +0000 (0:00:00.046)       0:01:33.741 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:30 +0000 (0:00:00.209)       0:01:33.952 *********** \nFriday 12 June 2026  20:23:30 +0000 (0:00:00.209)       0:01:33.951 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:30 +0000 (0:00:00.479)       0:01:34.432 *********** \nFriday 12 June 2026  20:23:30 +0000 (0:00:00.479)       0:01:34.431 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:30 +0000 (0:00:00.087)       0:01:34.520 *********** \nFriday 12 June 2026  20:23:30 +0000 (0:00:00.087)       0:01:34.518 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:31 +0000 (0:00:00.412)       0:01:34.932 *********** \nFriday 12 June 2026  20:23:31 +0000 (0:00:00.412)       0:01:34.931 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:31 +0000 (0:00:00.468)       0:01:35.401 *********** \nFriday 12 June 2026  20:23:31 +0000 (0:00:00.468)       0:01:35.400 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:32 +0000 (0:00:00.512)       0:01:35.913 *********** \nFriday 12 June 2026  20:23:32 +0000 (0:00:00.512)       0:01:35.912 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:32 +0000 (0:00:00.110)       0:01:36.024 *********** \nFriday 12 June 2026  20:23:32 +0000 (0:00:00.110)       0:01:36.023 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:32 +0000 (0:00:00.086)       0:01:36.110 *********** \nFriday 12 June 2026  20:23:32 +0000 (0:00:00.086)       0:01:36.109 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:32 +0000 (0:00:00.259)       0:01:36.370 *********** \nFriday 12 June 2026  20:23:32 +0000 (0:00:00.259)       0:01:36.369 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:32 +0000 (0:00:00.050)       0:01:36.421 *********** \nFriday 12 June 2026  20:23:32 +0000 (0:00:00.050)       0:01:36.419 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:33 +0000 (0:00:00.627)       0:01:37.048 *********** \nFriday 12 June 2026  20:23:33 +0000 (0:00:00.627)       0:01:37.047 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:33 +0000 (0:00:00.173)       0:01:37.222 *********** \nFriday 12 June 2026  20:23:33 +0000 (0:00:00.173)       0:01:37.221 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:33 +0000 (0:00:00.235)       0:01:37.458 *********** \nFriday 12 June 2026  20:23:33 +0000 (0:00:00.235)       0:01:37.457 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2 mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:23:34 +0000 (0:00:00.508)       0:01:37.967 *********** \nFriday 12 June 2026  20:23:34 +0000 (0:00:00.509)       0:01:37.966 *********** \nchanged: [localhost] => (item=service-values)\nok: [localhost] => (item=network-values2)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:34 +0000 (0:00:00.626)       0:01:38.593 *********** \nFriday 12 June 2026  20:23:34 +0000 (0:00:00.626)       0:01:38.592 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2 chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:23:35 +0000 (0:00:00.072)       0:01:38.666 *********** \nFriday 12 June 2026  20:23:35 +0000 (0:00:00.072)       0:01:38.665 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:23:35 +0000 (0:00:00.567)       0:01:39.233 *********** \nFriday 12 June 2026  20:23:35 +0000 (0:00:00.567)       0:01:39.232 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane2 executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.487)       0:01:39.721 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.487)       0:01:39.720 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.056)       0:01:39.777 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.056)       0:01:39.776 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane2 remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:39.852 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:39.851 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.303)       0:01:40.156 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.303)       0:01:40.155 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane2 _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.238 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.237 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane2 _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:40.314 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:40.313 *********** \nskipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=60m) \nskipping: [localhost] => (item=oc -n openstack2 wait osctlplane controlplane --for condition=Ready --timeout=60m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.101)       0:01:40.415 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.101)       0:01:40.414 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane2 name=run_hook] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.497 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.496 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:23:36 +0000 (0:00:00.096)       0:01:40.593 *********** \nFriday 12 June 2026  20:23:36 +0000 (0:00:00.096)       0:01:40.592 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.072)       0:01:40.666 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.072)       0:01:40.665 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.046)       0:01:40.712 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.046)       0:01:40.711 *********** \nok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.048)       0:01:40.761 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.048)       0:01:40.759 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.089)       0:01:40.850 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.089)       0:01:40.848 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.036)       0:01:40.886 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.036)       0:01:40.885 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.065)       0:01:40.952 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.065)       0:01:40.951 *********** \nok: [localhost] => (item={'name': 'edpm-nodeset-values', 'src_file': '../../../multi-namespace/edpm/nodeset/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.265)       0:01:41.217 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.265)       0:01:41.216 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/edpm/nodeset name=run_hook] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.099)       0:01:41.317 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.099)       0:01:41.315 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/edpm/nodeset name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.063)       0:01:41.380 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.063)       0:01:41.379 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.117)       0:01:41.498 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.117)       0:01:41.497 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:37 +0000 (0:00:00.052)       0:01:41.550 *********** \nFriday 12 June 2026  20:23:37 +0000 (0:00:00.052)       0:01:41.549 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:38 +0000 (0:00:00.074)       0:01:41.624 *********** \nFriday 12 June 2026  20:23:38 +0000 (0:00:00.074)       0:01:41.623 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:38 +0000 (0:00:00.085)       0:01:41.710 *********** \nFriday 12 June 2026  20:23:38 +0000 (0:00:00.085)       0:01:41.709 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:38 +0000 (0:00:00.262)       0:01:41.973 *********** \nFriday 12 June 2026  20:23:38 +0000 (0:00:00.262)       0:01:41.972 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:38 +0000 (0:00:00.090)       0:01:42.063 *********** \nFriday 12 June 2026  20:23:38 +0000 (0:00:00.090)       0:01:42.062 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:38 +0000 (0:00:00.264)       0:01:42.328 *********** \nFriday 12 June 2026  20:23:38 +0000 (0:00:00.264)       0:01:42.327 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:38 +0000 (0:00:00.250)       0:01:42.579 *********** \nFriday 12 June 2026  20:23:38 +0000 (0:00:00.250)       0:01:42.577 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/edpm_nodeset_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Check if all required variables for accessing the node is provided. _raw_params=edpm_core_asserts.yml] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.092)       0:01:42.671 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.092)       0:01:42.670 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/edpm_core_asserts.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure the required parameters are defined and configured. that=['cifmw_networking_env_definition is defined', 'cifmw_ci_gen_kustomize_values_ssh_authorizedkeys is defined', \"cifmw_ci_gen_kustomize_values_ssh_authorizedkeys != ''\", 'cifmw_ci_gen_kustomize_values_ssh_private_key is defined', \"cifmw_ci_gen_kustomize_values_ssh_private_key != ''\", 'cifmw_ci_gen_kustomize_values_ssh_public_key is defined', \"cifmw_ci_gen_kustomize_values_ssh_public_key != ''\"]] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.085)       0:01:42.756 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.085)       0:01:42.755 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Get common data for dataplane templating _raw_params=edpm_core_facts.yml] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.062)       0:01:42.819 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.062)       0:01:42.818 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/edpm_core_facts.yml for localhost\n\nTASK [ci_gen_kustomize_values : Fetch the already deployed services for further usage _raw_params=oc get osdps --namespace openstack --no-headers -o custom-columns=\":metadata.name\"] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.069)       0:01:42.888 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.069)       0:01:42.887 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose the deployed services as a fact ci_gen_kustomize_edpm_nodeset_predeployed_services={{\n  _ci_gen_kustomize_deployed_services_stdout.stdout_lines | default ([])\n}}] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.053)       0:01:42.942 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.053)       0:01:42.940 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Check if required variables for nova migration are provided. that=['cifmw_ci_gen_kustomize_values_migration_priv_key is defined', \"cifmw_ci_gen_kustomize_values_migration_priv_key != ''\", 'cifmw_ci_gen_kustomize_values_migration_pub_key is defined', \"cifmw_ci_gen_kustomize_values_migration_pub_key != ''\"]] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.058)       0:01:43.000 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.058)       0:01:42.998 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.047)       0:01:43.048 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.047)       0:01:43.046 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:39 +0000 (0:00:00.255)       0:01:43.303 *********** \nFriday 12 June 2026  20:23:39 +0000 (0:00:00.255)       0:01:43.302 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:40 +0000 (0:00:00.535)       0:01:43.839 *********** \nFriday 12 June 2026  20:23:40 +0000 (0:00:00.535)       0:01:43.837 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:40 +0000 (0:00:00.095)       0:01:43.934 *********** \nFriday 12 June 2026  20:23:40 +0000 (0:00:00.095)       0:01:43.933 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:40 +0000 (0:00:00.452)       0:01:44.387 *********** \nFriday 12 June 2026  20:23:40 +0000 (0:00:00.452)       0:01:44.386 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:41 +0000 (0:00:00.484)       0:01:44.871 *********** \nFriday 12 June 2026  20:23:41 +0000 (0:00:00.484)       0:01:44.870 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:41 +0000 (0:00:00.424)       0:01:45.295 *********** \nFriday 12 June 2026  20:23:41 +0000 (0:00:00.424)       0:01:45.294 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:41 +0000 (0:00:00.114)       0:01:45.410 *********** \nFriday 12 June 2026  20:23:41 +0000 (0:00:00.114)       0:01:45.408 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:41 +0000 (0:00:00.081)       0:01:45.491 *********** \nFriday 12 June 2026  20:23:41 +0000 (0:00:00.081)       0:01:45.490 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:42 +0000 (0:00:00.242)       0:01:45.734 *********** \nFriday 12 June 2026  20:23:42 +0000 (0:00:00.242)       0:01:45.732 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:42 +0000 (0:00:00.065)       0:01:45.799 *********** \nFriday 12 June 2026  20:23:42 +0000 (0:00:00.065)       0:01:45.797 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:42 +0000 (0:00:00.656)       0:01:46.456 *********** \nFriday 12 June 2026  20:23:42 +0000 (0:00:00.656)       0:01:46.454 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:43 +0000 (0:00:00.182)       0:01:46.638 *********** \nFriday 12 June 2026  20:23:43 +0000 (0:00:00.182)       0:01:46.637 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:43 +0000 (0:00:00.269)       0:01:46.907 *********** \nFriday 12 June 2026  20:23:43 +0000 (0:00:00.269)       0:01:46.906 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/edpm/nodeset mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:23:43 +0000 (0:00:00.471)       0:01:47.379 *********** \nFriday 12 June 2026  20:23:43 +0000 (0:00:00.471)       0:01:47.377 *********** \nchanged: [localhost] => (item=edpm-nodeset-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:44 +0000 (0:00:00.307)       0:01:47.686 *********** \nFriday 12 June 2026  20:23:44 +0000 (0:00:00.307)       0:01:47.684 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/edpm/nodeset chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:23:44 +0000 (0:00:00.051)       0:01:47.737 *********** \nFriday 12 June 2026  20:23:44 +0000 (0:00:00.051)       0:01:47.736 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:23:44 +0000 (0:00:00.522)       0:01:48.259 *********** \nFriday 12 June 2026  20:23:44 +0000 (0:00:00.522)       0:01:48.258 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/edpm/nodeset executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.510)       0:01:48.770 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.510)       0:01:48.768 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.085)       0:01:48.855 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.085)       0:01:48.854 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/edpm/nodeset remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.086)       0:01:48.941 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.086)       0:01:48.940 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.328)       0:01:49.270 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.328)       0:01:49.268 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/edpm/nodeset _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.065)       0:01:49.335 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.065)       0:01:49.334 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/edpm/nodeset _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.078)       0:01:49.413 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.078)       0:01:49.412 *********** \nskipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.076)       0:01:49.490 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.076)       0:01:49.489 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/edpm/nodeset name=run_hook] ***\nFriday 12 June 2026  20:23:45 +0000 (0:00:00.073)       0:01:49.563 *********** \nFriday 12 June 2026  20:23:45 +0000 (0:00:00.073)       0:01:49.562 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.092)       0:01:49.656 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.092)       0:01:49.654 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.067)       0:01:49.723 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.067)       0:01:49.722 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.041)       0:01:49.765 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.041)       0:01:49.763 *********** \nok: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m)\nok: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.051)       0:01:49.816 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.051)       0:01:49.815 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.038)       0:01:49.855 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.038)       0:01:49.853 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:49.904 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:49.903 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.059)       0:01:49.964 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.059)       0:01:49.963 *********** \nok: [localhost] => (item={'name': 'edpm-nodeset2-values', 'src_file': '../../../multi-namespace/edpm2/nodeset/values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.294)       0:01:50.259 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.294)       0:01:50.258 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/edpm2/nodeset name=run_hook] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.079)       0:01:50.338 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.079)       0:01:50.337 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace-skmo/edpm2/nodeset name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:50.388 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:50.387 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.112)       0:01:50.501 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.112)       0:01:50.500 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:46 +0000 (0:00:00.061)       0:01:50.563 *********** \nFriday 12 June 2026  20:23:46 +0000 (0:00:00.061)       0:01:50.562 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:47 +0000 (0:00:00.072)       0:01:50.635 *********** \nFriday 12 June 2026  20:23:47 +0000 (0:00:00.072)       0:01:50.634 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:47 +0000 (0:00:00.073)       0:01:50.709 *********** \nFriday 12 June 2026  20:23:47 +0000 (0:00:00.073)       0:01:50.708 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:47 +0000 (0:00:00.230)       0:01:50.939 *********** \nFriday 12 June 2026  20:23:47 +0000 (0:00:00.230)       0:01:50.938 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:47 +0000 (0:00:00.092)       0:01:51.032 *********** \nFriday 12 June 2026  20:23:47 +0000 (0:00:00.092)       0:01:51.031 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:47 +0000 (0:00:00.245)       0:01:51.277 *********** \nFriday 12 June 2026  20:23:47 +0000 (0:00:00.245)       0:01:51.276 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:47 +0000 (0:00:00.299)       0:01:51.577 *********** \nFriday 12 June 2026  20:23:47 +0000 (0:00:00.299)       0:01:51.576 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:48 +0000 (0:00:00.076)       0:01:51.654 *********** \nFriday 12 June 2026  20:23:48 +0000 (0:00:00.076)       0:01:51.653 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:48 +0000 (0:00:00.248)       0:01:51.903 *********** \nFriday 12 June 2026  20:23:48 +0000 (0:00:00.248)       0:01:51.902 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:48 +0000 (0:00:00.578)       0:01:52.482 *********** \nFriday 12 June 2026  20:23:48 +0000 (0:00:00.579)       0:01:52.481 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:48 +0000 (0:00:00.070)       0:01:52.553 *********** \nFriday 12 June 2026  20:23:48 +0000 (0:00:00.070)       0:01:52.552 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:49 +0000 (0:00:00.446)       0:01:52.999 *********** \nFriday 12 June 2026  20:23:49 +0000 (0:00:00.446)       0:01:52.998 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:49 +0000 (0:00:00.476)       0:01:53.475 *********** \nFriday 12 June 2026  20:23:49 +0000 (0:00:00.476)       0:01:53.474 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:50 +0000 (0:00:00.442)       0:01:53.918 *********** \nFriday 12 June 2026  20:23:50 +0000 (0:00:00.442)       0:01:53.917 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:50 +0000 (0:00:00.113)       0:01:54.031 *********** \nFriday 12 June 2026  20:23:50 +0000 (0:00:00.113)       0:01:54.030 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:50 +0000 (0:00:00.074)       0:01:54.106 *********** \nFriday 12 June 2026  20:23:50 +0000 (0:00:00.074)       0:01:54.104 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:50 +0000 (0:00:00.242)       0:01:54.348 *********** \nFriday 12 June 2026  20:23:50 +0000 (0:00:00.242)       0:01:54.347 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:50 +0000 (0:00:00.072)       0:01:54.421 *********** \nFriday 12 June 2026  20:23:50 +0000 (0:00:00.073)       0:01:54.420 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:51 +0000 (0:00:00.738)       0:01:55.160 *********** \nFriday 12 June 2026  20:23:51 +0000 (0:00:00.738)       0:01:55.159 *********** \nok: [localhost] => (item=02_ci_data.yaml)\nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:51 +0000 (0:00:00.161)       0:01:55.322 *********** \nFriday 12 June 2026  20:23:51 +0000 (0:00:00.161)       0:01:55.321 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:51 +0000 (0:00:00.247)       0:01:55.569 *********** \nFriday 12 June 2026  20:23:51 +0000 (0:00:00.247)       0:01:55.568 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/edpm2/nodeset mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:23:52 +0000 (0:00:00.445)       0:01:56.015 *********** \nFriday 12 June 2026  20:23:52 +0000 (0:00:00.445)       0:01:56.014 *********** \nchanged: [localhost] => (item=edpm-nodeset2-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:52 +0000 (0:00:00.309)       0:01:56.325 *********** \nFriday 12 June 2026  20:23:52 +0000 (0:00:00.309)       0:01:56.323 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/edpm2/nodeset chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:23:52 +0000 (0:00:00.069)       0:01:56.394 *********** \nFriday 12 June 2026  20:23:52 +0000 (0:00:00.069)       0:01:56.392 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:23:53 +0000 (0:00:00.572)       0:01:56.967 *********** \nFriday 12 June 2026  20:23:53 +0000 (0:00:00.572)       0:01:56.965 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/edpm2/nodeset executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:23:53 +0000 (0:00:00.450)       0:01:57.417 *********** \nFriday 12 June 2026  20:23:53 +0000 (0:00:00.450)       0:01:57.416 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:23:53 +0000 (0:00:00.080)       0:01:57.498 *********** \nFriday 12 June 2026  20:23:53 +0000 (0:00:00.080)       0:01:57.496 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/edpm2/nodeset remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:53 +0000 (0:00:00.077)       0:01:57.575 *********** \nFriday 12 June 2026  20:23:53 +0000 (0:00:00.077)       0:01:57.573 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.299)       0:01:57.875 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.299)       0:01:57.873 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/edpm2/nodeset _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.065)       0:01:57.940 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.065)       0:01:57.939 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/edpm2/nodeset _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.060)       0:01:58.000 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.060)       0:01:57.999 *********** \nskipping: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m) \nskipping: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.080)       0:01:58.081 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.080)       0:01:58.080 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/edpm2/nodeset name=run_hook] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.059)       0:01:58.141 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.060)       0:01:58.140 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.083)       0:01:58.224 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.083)       0:01:58.223 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.072)       0:01:58.297 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.072)       0:01:58.296 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.035)       0:01:58.332 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.035)       0:01:58.331 *********** \nok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.039)       0:01:58.371 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.039)       0:01:58.370 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.029)       0:01:58.401 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.029)       0:01:58.400 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.037)       0:01:58.439 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.037)       0:01:58.437 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:54 +0000 (0:00:00.051)       0:01:58.491 *********** \nFriday 12 June 2026  20:23:54 +0000 (0:00:00.051)       0:01:58.489 *********** \nok: [localhost] => (item={'name': 'edpm-deployment-values', 'src_file': 'values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.205)       0:01:58.696 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.205)       0:01:58.694 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace/edpm name=run_hook] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:58.777 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:58.776 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace/edpm name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.055)       0:01:58.833 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.055)       0:01:58.831 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.091)       0:01:58.924 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.091)       0:01:58.923 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.052)       0:01:58.977 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.052)       0:01:58.975 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.072)       0:01:59.049 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.072)       0:01:59.048 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.059)       0:01:59.109 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.059)       0:01:59.107 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.221)       0:01:59.331 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.221)       0:01:59.329 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:59.412 *********** \nFriday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:59.411 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:23:56 +0000 (0:00:00.294)       0:01:59.706 *********** \nFriday 12 June 2026  20:23:56 +0000 (0:00:00.294)       0:01:59.705 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:23:56 +0000 (0:00:00.217)       0:01:59.924 *********** \nFriday 12 June 2026  20:23:56 +0000 (0:00:00.217)       0:01:59.923 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:56 +0000 (0:00:00.041)       0:01:59.966 *********** \nFriday 12 June 2026  20:23:56 +0000 (0:00:00.041)       0:01:59.965 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:23:56 +0000 (0:00:00.249)       0:02:00.215 *********** \nFriday 12 June 2026  20:23:56 +0000 (0:00:00.249)       0:02:00.214 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:23:56 +0000 (0:00:00.097)       0:02:00.313 *********** \nFriday 12 June 2026  20:23:56 +0000 (0:00:00.097)       0:02:00.311 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:56 +0000 (0:00:00.092)       0:02:00.405 *********** \nFriday 12 June 2026  20:23:56 +0000 (0:00:00.092)       0:02:00.404 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:57 +0000 (0:00:00.492)       0:02:00.897 *********** \nFriday 12 June 2026  20:23:57 +0000 (0:00:00.492)       0:02:00.896 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:57 +0000 (0:00:00.477)       0:02:01.374 *********** \nFriday 12 June 2026  20:23:57 +0000 (0:00:00.477)       0:02:01.373 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:23:58 +0000 (0:00:00.447)       0:02:01.822 *********** \nFriday 12 June 2026  20:23:58 +0000 (0:00:00.447)       0:02:01.821 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:23:58 +0000 (0:00:00.085)       0:02:01.907 *********** \nFriday 12 June 2026  20:23:58 +0000 (0:00:00.085)       0:02:01.906 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:23:58 +0000 (0:00:00.071)       0:02:01.979 *********** \nFriday 12 June 2026  20:23:58 +0000 (0:00:00.071)       0:02:01.977 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:23:58 +0000 (0:00:00.241)       0:02:02.220 *********** \nFriday 12 June 2026  20:23:58 +0000 (0:00:00.241)       0:02:02.219 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:23:58 +0000 (0:00:00.063)       0:02:02.284 *********** \nFriday 12 June 2026  20:23:58 +0000 (0:00:00.063)       0:02:02.283 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:23:59 +0000 (0:00:00.465)       0:02:02.750 *********** \nFriday 12 June 2026  20:23:59 +0000 (0:00:00.465)       0:02:02.749 *********** \nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:23:59 +0000 (0:00:00.141)       0:02:02.891 *********** \nFriday 12 June 2026  20:23:59 +0000 (0:00:00.141)       0:02:02.890 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:23:59 +0000 (0:00:00.254)       0:02:03.146 *********** \nFriday 12 June 2026  20:23:59 +0000 (0:00:00.254)       0:02:03.145 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace/edpm mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:24:00 +0000 (0:00:00.484)       0:02:03.630 *********** \nFriday 12 June 2026  20:24:00 +0000 (0:00:00.483)       0:02:03.629 *********** \nchanged: [localhost] => (item=edpm-deployment-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:24:00 +0000 (0:00:00.326)       0:02:03.956 *********** \nFriday 12 June 2026  20:24:00 +0000 (0:00:00.326)       0:02:03.955 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace/edpm chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:24:00 +0000 (0:00:00.081)       0:02:04.037 *********** \nFriday 12 June 2026  20:24:00 +0000 (0:00:00.081)       0:02:04.036 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:24:00 +0000 (0:00:00.416)       0:02:04.454 *********** \nFriday 12 June 2026  20:24:00 +0000 (0:00:00.416)       0:02:04.452 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace/edpm executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:24:01 +0000 (0:00:00.533)       0:02:04.987 *********** \nFriday 12 June 2026  20:24:01 +0000 (0:00:00.533)       0:02:04.986 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:24:01 +0000 (0:00:00.089)       0:02:05.077 *********** \nFriday 12 June 2026  20:24:01 +0000 (0:00:00.089)       0:02:05.075 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace/edpm remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:24:01 +0000 (0:00:00.083)       0:02:05.160 *********** \nFriday 12 June 2026  20:24:01 +0000 (0:00:00.083)       0:02:05.159 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:24:01 +0000 (0:00:00.291)       0:02:05.452 *********** \nFriday 12 June 2026  20:24:01 +0000 (0:00:00.291)       0:02:05.451 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace/edpm _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:24:01 +0000 (0:00:00.082)       0:02:05.534 *********** \nFriday 12 June 2026  20:24:01 +0000 (0:00:00.082)       0:02:05.533 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace/edpm _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:24:01 +0000 (0:00:00.073)       0:02:05.608 *********** \nFriday 12 June 2026  20:24:01 +0000 (0:00:00.073)       0:02:05.607 *********** \nskipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.081)       0:02:05.689 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.081)       0:02:05.688 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace/edpm name=run_hook] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.065)       0:02:05.755 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.065)       0:02:05.754 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.080)       0:02:05.835 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.080)       0:02:05.834 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.052)       0:02:05.888 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.052)       0:02:05.887 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.031)       0:02:05.920 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.031)       0:02:05.919 *********** \nok: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=Ready --timeout=60m)\nok: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=Ready --timeout=60m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.056)       0:02:05.977 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.056)       0:02:05.975 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.041)       0:02:06.018 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.041)       0:02:06.017 *********** \nok: [localhost]\n\nTASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{\n  cifmw_kustomize_deploy_osdpd_suffix | string\n  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)\n  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)\n}}] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.047)       0:02:06.066 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.047)       0:02:06.065 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure source files exists path={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n   stage['path'], item.src_file) | path_join\n}}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.076)       0:02:06.142 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.076)       0:02:06.141 *********** \nok: [localhost] => (item={'name': 'edpm-deployment2-values', 'src_file': 'values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.298)       0:02:06.441 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.298)       0:02:06.440 *********** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/va/multi-namespace/edpm2 name=run_hook] ***\nFriday 12 June 2026  20:24:02 +0000 (0:00:00.097)       0:02:06.538 *********** \nFriday 12 June 2026  20:24:02 +0000 (0:00:00.097)       0:02:06.537 *********** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/va/multi-namespace/edpm2 name=ci_gen_kustomize_values] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.081)       0:02:06.620 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.081)       0:02:06.619 *********** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.117)       0:02:06.737 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.117)       0:02:06.736 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.053)       0:02:06.791 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.053)       0:02:06.790 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.122)       0:02:06.914 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.122)       0:02:06.913 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.057)       0:02:06.972 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.057)       0:02:06.970 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.227)       0:02:07.199 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.227)       0:02:07.198 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.049)       0:02:07.248 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.049)       0:02:07.247 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{\n  _raw_manifests | reject('equalto', _config_map_content)\n}}, _cifmw_gen_kustomize_values_base_cm_content={{\n  _config_map_content |\n  ansible.utils.remove_keys(\n    target=_cifmw_gen_kustomize_values_reject_expressions,\n    matching_parameter='regex')\n}}, cacheable=False] ***\nFriday 12 June 2026  20:24:03 +0000 (0:00:00.224)       0:02:07.473 *********** \nFriday 12 June 2026  20:24:03 +0000 (0:00:00.224)       0:02:07.472 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nFriday 12 June 2026  20:24:04 +0000 (0:00:00.225)       0:02:07.699 *********** \nFriday 12 June 2026  20:24:04 +0000 (0:00:00.225)       0:02:07.698 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:24:04 +0000 (0:00:00.080)       0:02:07.780 *********** \nFriday 12 June 2026  20:24:04 +0000 (0:00:00.080)       0:02:07.779 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{\n  (snippet_datadir,\n   '02_ci_data.yaml') | path_join\n}}, src={{ _tmpl_check_path | first }}, mode=0644] ***\nFriday 12 June 2026  20:24:04 +0000 (0:00:00.266)       0:02:08.046 *********** \nFriday 12 June 2026  20:24:04 +0000 (0:00:00.266)       0:02:08.045 *********** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***\nFriday 12 June 2026  20:24:04 +0000 (0:00:00.086)       0:02:08.133 *********** \nFriday 12 June 2026  20:24:04 +0000 (0:00:00.086)       0:02:08.132 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{\n  (snippet_datadir,\n  '03_user_data_b64.yaml') | path_join\n}}, content={{\n  _base64_patch |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:24:04 +0000 (0:00:00.108)       0:02:08.242 *********** \nFriday 12 June 2026  20:24:04 +0000 (0:00:00.108)       0:02:08.240 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{\n  (snippet_datadir,\n   '04_user_data.yaml') | path_join\n}}, content={{\n  cifmw_ci_gen_kustomize_values_userdata |\n  default({}) |\n  to_nice_yaml\n}}, mode=0644] ***\nFriday 12 June 2026  20:24:05 +0000 (0:00:00.485)       0:02:08.727 *********** \nFriday 12 June 2026  20:24:05 +0000 (0:00:00.485)       0:02:08.726 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{\n  (\n    snippet_datadir,\n    cifmw_ci_gen_kustomize_values_original_cm_content_file_name\n  ) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:24:05 +0000 (0:00:00.498)       0:02:09.226 *********** \nFriday 12 June 2026  20:24:05 +0000 (0:00:00.498)       0:02:09.225 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nFriday 12 June 2026  20:24:06 +0000 (0:00:00.472)       0:02:09.698 *********** \nFriday 12 June 2026  20:24:06 +0000 (0:00:00.472)       0:02:09.697 *********** \nincluded: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost\n\nTASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***\nFriday 12 June 2026  20:24:06 +0000 (0:00:00.099)       0:02:09.798 *********** \nFriday 12 June 2026  20:24:06 +0000 (0:00:00.099)       0:02:09.797 *********** \nok: [localhost] => \n    changed: false\n    msg: All assertions passed\n\nTASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***\nFriday 12 June 2026  20:24:06 +0000 (0:00:00.086)       0:02:09.884 *********** \nFriday 12 June 2026  20:24:06 +0000 (0:00:00.086)       0:02:09.883 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nFriday 12 June 2026  20:24:06 +0000 (0:00:00.259)       0:02:10.144 *********** \nFriday 12 June 2026  20:24:06 +0000 (0:00:00.259)       0:02:10.143 *********** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nFriday 12 June 2026  20:24:06 +0000 (0:00:00.080)       0:02:10.225 *********** \nFriday 12 June 2026  20:24:06 +0000 (0:00:00.080)       0:02:10.223 *********** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Combine snippets _content={{\n  _content |\n  default(_cifmw_gen_kustomize_values_base_cm_content, true) |\n  combine(_parsed, recursive=true)\n}}\n] ***\nFriday 12 June 2026  20:24:07 +0000 (0:00:00.484)       0:02:10.709 *********** \nFriday 12 June 2026  20:24:07 +0000 (0:00:00.484)       0:02:10.708 *********** \nok: [localhost] => (item=03_user_data_b64.yaml)\nok: [localhost] => (item=04_user_data.yaml)\n\nTASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***\nFriday 12 June 2026  20:24:07 +0000 (0:00:00.096)       0:02:10.806 *********** \nFriday 12 June 2026  20:24:07 +0000 (0:00:00.096)       0:02:10.804 *********** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Output values file backup=True, dest={{\n  (_destdir,\n  cifmw_ci_gen_kustomize_values_dest_filename) | path_join\n}}, content={{\n  (\n    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests\n  ) | cifmw.general.to_nice_yaml_all\n}}, mode=0644] ***\nFriday 12 June 2026  20:24:07 +0000 (0:00:00.244)       0:02:11.050 *********** \nFriday 12 June 2026  20:24:07 +0000 (0:00:00.244)       0:02:11.049 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace/edpm2 mode=0644, backup=True, remote_src=True, src={{\n  (cifmw_kustomize_deploy_basedir,\n   'artifacts', 'ci_gen_kustomize_values',\n   _val['name'], 'values.yaml') | path_join\n}}, dest={{\n  (cifmw_kustomize_deploy_architecture_repo_dest_dir,\n  stage['path'], _val.src_file\n  ) |\n  path_join\n }}] ***\nFriday 12 June 2026  20:24:07 +0000 (0:00:00.544)       0:02:11.595 *********** \nFriday 12 June 2026  20:24:07 +0000 (0:00:00.545)       0:02:11.594 *********** \nchanged: [localhost] => (item=edpm-deployment2-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:24:08 +0000 (0:00:00.370)       0:02:11.966 *********** \nFriday 12 June 2026  20:24:08 +0000 (0:00:00.370)       0:02:11.965 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace/edpm2 chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nFriday 12 June 2026  20:24:08 +0000 (0:00:00.078)       0:02:12.045 *********** \nFriday 12 June 2026  20:24:08 +0000 (0:00:00.079)       0:02:12.044 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nFriday 12 June 2026  20:24:08 +0000 (0:00:00.368)       0:02:12.414 *********** \nFriday 12 June 2026  20:24:08 +0000 (0:00:00.368)       0:02:12.412 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace/edpm2 executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.503)       0:02:12.917 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.503)       0:02:12.916 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{\n  _wait_conditions | map('regex_replace',\n    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',\n    '\\1' + item.split(' -> ')[1] | trim + '\\3'\n  ) | list\n}}] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.084)       0:02:13.002 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.084)       0:02:13.001 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace/edpm2 remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.087)       0:02:13.089 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.087)       0:02:13.088 *********** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.295)       0:02:13.384 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.295)       0:02:13.383 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace/edpm2 _raw_params=oc apply -f {{ _cr }}] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.052)       0:02:13.437 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.052)       0:02:13.435 *********** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace/edpm2 _raw_params=wait_condition.yml] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.060)       0:02:13.497 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.060)       0:02:13.496 *********** \nskipping: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=Ready --timeout=60m) \nskipping: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=Ready --timeout=60m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nFriday 12 June 2026  20:24:09 +0000 (0:00:00.090)       0:02:13.587 *********** \nFriday 12 June 2026  20:24:09 +0000 (0:00:00.089)       0:02:13.586 *********** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/va/multi-namespace/edpm2 name=run_hook] ***\nFriday 12 June 2026  20:24:10 +0000 (0:00:00.059)       0:02:13.646 *********** \nFriday 12 June 2026  20:24:10 +0000 (0:00:00.059)       0:02:13.645 *********** \nskipping: [localhost]\n\nPLAY RECAP *********************************************************************\nlocalhost                  : ok=396  changed=105  unreachable=0    failed=0    skipped=171  rescued=0    ignored=0   \n\nFriday 12 June 2026  20:24:10 +0000 (0:00:00.130)       0:02:13.777 *********** \n=============================================================================== \nGet automation contents ------------------------------------------------- 8.23s\nci_setup : Install needed packages -------------------------------------- 5.04s\nci_setup : Install openshift client ------------------------------------- 4.07s\nLoad automation files as fact ------------------------------------------- 2.05s\nci_setup : Manage directories ------------------------------------------- 1.06s\nGathering Facts --------------------------------------------------------- 1.00s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.74s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.68s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.66s\nkustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane/networking/nncp --- 0.66s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.66s\nci_gen_kustomize_values : Generate CI snippet --------------------------- 0.66s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.66s\nkustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane --- 0.65s\nCreate needed SSH keypairs ---------------------------------------------- 0.65s\nkustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2/networking --- 0.64s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.63s\nkustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2 --- 0.63s\nci_gen_kustomize_values : Generate CI snippet --------------------------- 0.63s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.62s\nFriday 12 June 2026  20:24:10 +0000 (0:00:00.132)       0:02:13.777 *********** \n=============================================================================== \nci_gen_kustomize_values ------------------------------------------------ 69.97s\nkustomize_deploy ------------------------------------------------------- 36.95s\nci_setup --------------------------------------------------------------- 11.84s\nansible.builtin.slurp --------------------------------------------------- 9.07s\nansible.builtin.set_fact ------------------------------------------------ 2.18s\ngather_facts ------------------------------------------------------------ 1.00s\nnetworking_mapper ------------------------------------------------------- 0.69s\ncommunity.crypto.openssh_keypair ---------------------------------------- 0.65s\nansible.builtin.file ---------------------------------------------------- 0.39s\nansible.builtin.include_role -------------------------------------------- 0.35s\nansible.builtin.find ---------------------------------------------------- 0.32s\nansible.builtin.stat ---------------------------------------------------- 0.21s\nansible.builtin.assert -------------------------------------------------- 0.06s\nansible.builtin.copy ---------------------------------------------------- 0.04s\nansible.builtin.include_vars -------------------------------------------- 0.03s\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ntotal ----------------------------------------------------------------- 133.74s",
                            "stdout_lines": [
                                "",
                                "PLAY [Test architecture automations] *******************************************",
                                "",
                                "TASK [Gathering Facts ] ********************************************************",
                                "Friday 12 June 2026  20:21:56 +0000 (0:00:00.027)       0:00:00.027 *********** ",
                                "Friday 12 June 2026  20:21:56 +0000 (0:00:00.026)       0:00:00.026 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Assert we have the bare minimum to run quiet=True, that=['cifmw_architecture_repo is defined', 'cifmw_architecture_scenario is defined', 'cifmw_networking_mapper_networking_env_def_path is defined']] ***",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.998)       0:00:01.026 *********** ",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.998)       0:00:01.025 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] ***",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.056)       0:00:01.083 *********** ",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.056)       0:00:01.082 *********** ",
                                "ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml)",
                                "",
                                "TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] *********",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.043)       0:00:01.127 *********** ",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.043)       0:00:01.126 *********** ",
                                "ok: [localhost] => ",
                                "    cifmw_ci_setup_packages:",
                                "    - bash-completion",
                                "    - ca-certificates",
                                "    - git-core",
                                "    - make",
                                "    - tar",
                                "    - tmux",
                                "    - python3-pip",
                                "",
                                "TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] ***",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.025)       0:00:01.152 *********** ",
                                "Friday 12 June 2026  20:21:57 +0000 (0:00:00.025)       0:00:01.151 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] ***",
                                "Friday 12 June 2026  20:22:02 +0000 (0:00:05.039)       0:00:06.192 *********** ",
                                "Friday 12 June 2026  20:22:02 +0000 (0:00:05.039)       0:00:06.191 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:02 +0000 (0:00:00.335)       0:00:06.528 *********** ",
                                "Friday 12 June 2026  20:22:02 +0000 (0:00:00.335)       0:00:06.526 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Install openshift client src={{ cifmw_ci_setup_openshift_client_download_uri }}/{{ cifmw_ci_setup_openshift_client_version }}/openshift-client-linux.tar.gz, dest={{ cifmw_ci_setup_oc_install_path }}, remote_src=True, mode=0755, creates={{ cifmw_ci_setup_oc_install_path }}/oc] ***",
                                "Friday 12 June 2026  20:22:03 +0000 (0:00:00.337)       0:00:06.865 *********** ",
                                "Friday 12 June 2026  20:22:03 +0000 (0:00:00.337)       0:00:06.864 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Add the OC path to cifmw_path if needed cifmw_path={{ cifmw_ci_setup_oc_install_path }}:{{ ansible_env.PATH }}, cacheable=True] ***",
                                "Friday 12 June 2026  20:22:07 +0000 (0:00:04.073)       0:00:10.938 *********** ",
                                "Friday 12 June 2026  20:22:07 +0000 (0:00:04.073)       0:00:10.937 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Create completion file] ***************************************",
                                "Friday 12 June 2026  20:22:07 +0000 (0:00:00.049)       0:00:10.988 *********** ",
                                "Friday 12 June 2026  20:22:07 +0000 (0:00:00.049)       0:00:10.987 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Source completion from within .bashrc create=True, mode=0644, path={{ ansible_user_dir }}/.bashrc, block=if [ -f ~/.oc_completion ]; then",
                                "  source ~/.oc_completion",
                                "fi] ***",
                                "Friday 12 June 2026  20:22:07 +0000 (0:00:00.378)       0:00:11.367 *********** ",
                                "Friday 12 June 2026  20:22:07 +0000 (0:00:00.378)       0:00:11.366 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] ****",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.327)       0:00:11.695 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.327)       0:00:11.694 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Gather the repos to be enabled _repos={{",
                                "  cifmw_ci_setup_rhel_rhsm_default_repos +",
                                "  (cifmw_ci_setup_rhel_rhsm_extra_repos | default([]))",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.031)       0:00:11.726 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.031)       0:00:11.725 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] ***",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.027)       0:00:11.754 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.027)       0:00:11.753 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] ***",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.024)       0:00:11.779 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.024)       0:00:11.777 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] ***",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.026)       0:00:11.805 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.026)       0:00:11.804 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Ensure the repos are enabled in the system using yum name={{ item.name }}, baseurl={{ item.baseurl }}, description={{ item.description | default(item.name) }}, gpgcheck={{ item.gpgcheck | default(false) }}, enabled=True, state={{ yum_repo_state | default('present') }}] ***",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.028)       0:00:11.833 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.028)       0:00:11.832 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] ***",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.037)       0:00:11.871 *********** ",
                                "Friday 12 June 2026  20:22:08 +0000 (0:00:00.037)       0:00:11.870 *********** ",
                                "changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr)",
                                "changed: [localhost] => (item=/home/zuul/ci-framework-data/logs)",
                                "changed: [localhost] => (item=/home/zuul/ci-framework-data/tmp)",
                                "changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters)",
                                "",
                                "TASK [Create needed directories path={{ item }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:01.057)       0:00:12.928 *********** ",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:01.057)       0:00:12.927 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/logs)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts)",
                                "",
                                "TASK [Check if we have a mock file path={{ _mock_file }}] **********************",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.386)       0:00:13.315 *********** ",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.386)       0:00:13.314 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Slurp file from remote src={{ _mock_file }}] *****************************",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.212)       0:00:13.527 *********** ",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.212)       0:00:13.526 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Copy file on localhost dest={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}, mode=0644, content={{ _mock_content.content | b64decode }}] ***",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.025)       0:00:13.553 *********** ",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.025)       0:00:13.552 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Include var file file={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}] ***",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.037)       0:00:13.590 *********** ",
                                "Friday 12 June 2026  20:22:09 +0000 (0:00:00.037)       0:00:13.589 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure that architecture repo exists repo={{ cifmw_kustomize_deploy_architecture_repo_url }}, dest={{ cifmw_kustomize_deploy_architecture_repo_dest_dir }}, update=False, version={{ cifmw_kustomize_deploy_architecture_repo_version }}] ***",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.030)       0:00:13.620 *********** ",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.030)       0:00:13.619 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Gather the list of scenario folders paths={{ _va_scenario_dir }}, patterns=kustomization.y*ml, recurse=True] ***",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.371)       0:00:13.992 *********** ",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.371)       0:00:13.991 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check if scenario is in the list msg=You need to properly set the `cifmw_architecture_scenario` variable in order to select the architecture-based scenario to deploy. You can take a list of scenario in the `examples/va` folder in the architecture repo.",
                                "] ***",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.445)       0:00:14.438 *********** ",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.445)       0:00:14.437 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure that destination directory exists path={{ cifmw_kustomize_deploy_kustomizations_dest_dir }}, mode=0755, state=directory] ***",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.028)       0:00:14.467 *********** ",
                                "Friday 12 June 2026  20:22:10 +0000 (0:00:00.028)       0:00:14.465 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set the final cifmw_architecture_user_kustomize based on its patches _cifmw_kustomize_deploy_user_kustomize={{",
                                "  _cifmw_kustomize_deploy_user_kustomize |",
                                "  default({}) |",
                                "  combine(item.value, recursive=True)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.228)       0:00:14.695 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.228)       0:00:14.694 *********** ",
                                "ok: [localhost] => (item=cifmw_architecture_user_kustomize)",
                                "",
                                "TASK [kustomize_deploy : Set the final cifmw_architecture_user_kustomize_base64 based on its patches _cifmw_kustomize_deploy_user_base64_kustomize={{",
                                "  _b64_kustomize_user_patches |",
                                "  ci_kustomize_deploy_combine_base64_patch_dict",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.110)       0:00:14.805 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.110)       0:00:14.804 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [networking_mapper : Check for Networking Environment Definition file existence path={{ cifmw_networking_mapper_networking_env_def_path }}] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.108)       0:00:14.913 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.108)       0:00:14.912 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [networking_mapper : Check for Networking Definition file existance that=['_net_env_def_stat.stat.exists'], msg=Ensure that the Networking Environment Definition file exists in {{ cifmw_networking_mapper_networking_env_def_path }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.229)       0:00:15.143 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.229)       0:00:15.142 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [networking_mapper : Load the Networking Definition from file path={{ cifmw_networking_mapper_networking_env_def_path }}] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.060)       0:00:15.203 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.060)       0:00:15.202 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [networking_mapper : Set cifmw_networking_env_definition is present cifmw_networking_env_definition={{",
                                "  _net_env_def_slurp['content'] |",
                                "  b64decode |",
                                "  from_yaml",
                                "}}, cacheable=True] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.304)       0:00:15.507 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.304)       0:00:15.506 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Discover automation files paths={{",
                                "  [cifmw_architecture_repo, _automation_relative] |",
                                "  path_join",
                                "}}, patterns=*.yaml] ***",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.092)       0:00:15.600 *********** ",
                                "Friday 12 June 2026  20:22:11 +0000 (0:00:00.092)       0:00:15.599 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Get automation contents path={{ item.path }}] ****************************",
                                "Friday 12 June 2026  20:22:12 +0000 (0:00:00.319)       0:00:15.919 *********** ",
                                "Friday 12 June 2026  20:22:12 +0000 (0:00:00.319)       0:00:15.918 *********** ",
                                "ok: [localhost] => (item=bgp-l3-xl-adoption.yaml)",
                                "ok: [localhost] => (item=bgp-l3-xl.yaml)",
                                "ok: [localhost] => (item=bgp_dt01.yaml)",
                                "ok: [localhost] => (item=bgp_dt04_ipv6.yaml)",
                                "ok: [localhost] => (item=bmo01.yaml)",
                                "ok: [localhost] => (item=dcn.yaml)",
                                "ok: [localhost] => (item=dt-sharded.yaml)",
                                "ok: [localhost] => (item=dz-storage.yaml)",
                                "ok: [localhost] => (item=hci-adoption.yaml)",
                                "ok: [localhost] => (item=hci-ironic.yaml)",
                                "ok: [localhost] => (item=hci.yaml)",
                                "ok: [localhost] => (item=multi-namespace-skmo.yaml)",
                                "ok: [localhost] => (item=multi-namespace.yaml)",
                                "ok: [localhost] => (item=nfv-ovs-dpdk-sriov-adoption.yaml)",
                                "ok: [localhost] => (item=nfv-ovs-dpdk-sriov-hci.yaml)",
                                "ok: [localhost] => (item=nova-three-cells.yaml)",
                                "ok: [localhost] => (item=nova01alpha.yaml)",
                                "ok: [localhost] => (item=nova02beta.yaml)",
                                "ok: [localhost] => (item=nova03gamma.yaml)",
                                "ok: [localhost] => (item=nova04delta-adoption.yaml)",
                                "ok: [localhost] => (item=nova04delta.yaml)",
                                "ok: [localhost] => (item=nova05epsilon.yaml)",
                                "ok: [localhost] => (item=nvidia-mdev.yaml)",
                                "ok: [localhost] => (item=nvidia-vfio-passthrough-adoption.yaml)",
                                "ok: [localhost] => (item=nvidia-vfio-passthrough.yaml)",
                                "ok: [localhost] => (item=osasinfra-ipv6.yaml)",
                                "ok: [localhost] => (item=osasinfra.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-2nodesets.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-ipv6-2nodesets.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-ipv6.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-networker.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk.yaml)",
                                "ok: [localhost] => (item=pidone.yaml)",
                                "ok: [localhost] => (item=sriov.yaml)",
                                "ok: [localhost] => (item=uni01alpha-adoption.yaml)",
                                "ok: [localhost] => (item=uni01alpha.yaml)",
                                "ok: [localhost] => (item=uni02beta-adoption.yaml)",
                                "ok: [localhost] => (item=uni02beta.yaml)",
                                "ok: [localhost] => (item=uni04delta-adoption.yaml)",
                                "ok: [localhost] => (item=uni04delta-ipv6-adoption.yaml)",
                                "ok: [localhost] => (item=uni04delta-ipv6.yaml)",
                                "ok: [localhost] => (item=uni04delta.yaml)",
                                "ok: [localhost] => (item=uni05epsilon-adoption.yaml)",
                                "ok: [localhost] => (item=uni05epsilon.yaml)",
                                "ok: [localhost] => (item=uni06zeta-adoption.yaml)",
                                "ok: [localhost] => (item=uni06zeta.yaml)",
                                "ok: [localhost] => (item=uni07eta-adoption.yaml)",
                                "ok: [localhost] => (item=uni07eta.yaml)",
                                "ok: [localhost] => (item=uni09iota-adoption.yaml)",
                                "ok: [localhost] => (item=uni09iota.yaml)",
                                "ok: [localhost] => (item=vhosts-compact.yaml)",
                                "",
                                "TASK [Load automation files as fact vas={{",
                                "  vas | default({}) |",
                                "  combine(item.content | b64decode | from_yaml, recursive=true)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:20 +0000 (0:00:08.231)       0:00:24.151 *********** ",
                                "Friday 12 June 2026  20:22:20 +0000 (0:00:08.231)       0:00:24.150 *********** ",
                                "ok: [localhost] => (item=bgp-l3-xl-adoption.yaml)",
                                "ok: [localhost] => (item=bgp-l3-xl.yaml)",
                                "ok: [localhost] => (item=bgp_dt01.yaml)",
                                "ok: [localhost] => (item=bgp_dt04_ipv6.yaml)",
                                "ok: [localhost] => (item=bmo01.yaml)",
                                "ok: [localhost] => (item=dcn.yaml)",
                                "ok: [localhost] => (item=dt-sharded.yaml)",
                                "ok: [localhost] => (item=dz-storage.yaml)",
                                "ok: [localhost] => (item=hci-adoption.yaml)",
                                "ok: [localhost] => (item=hci-ironic.yaml)",
                                "ok: [localhost] => (item=hci.yaml)",
                                "ok: [localhost] => (item=multi-namespace-skmo.yaml)",
                                "ok: [localhost] => (item=multi-namespace.yaml)",
                                "ok: [localhost] => (item=nfv-ovs-dpdk-sriov-adoption.yaml)",
                                "ok: [localhost] => (item=nfv-ovs-dpdk-sriov-hci.yaml)",
                                "ok: [localhost] => (item=nova-three-cells.yaml)",
                                "ok: [localhost] => (item=nova01alpha.yaml)",
                                "ok: [localhost] => (item=nova02beta.yaml)",
                                "ok: [localhost] => (item=nova03gamma.yaml)",
                                "ok: [localhost] => (item=nova04delta-adoption.yaml)",
                                "ok: [localhost] => (item=nova04delta.yaml)",
                                "ok: [localhost] => (item=nova05epsilon.yaml)",
                                "ok: [localhost] => (item=nvidia-mdev.yaml)",
                                "ok: [localhost] => (item=nvidia-vfio-passthrough-adoption.yaml)",
                                "ok: [localhost] => (item=nvidia-vfio-passthrough.yaml)",
                                "ok: [localhost] => (item=osasinfra-ipv6.yaml)",
                                "ok: [localhost] => (item=osasinfra.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-2nodesets.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-ipv6-2nodesets.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-ipv6.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov-networker.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk-sriov.yaml)",
                                "ok: [localhost] => (item=ovs-dpdk.yaml)",
                                "ok: [localhost] => (item=pidone.yaml)",
                                "ok: [localhost] => (item=sriov.yaml)",
                                "ok: [localhost] => (item=uni01alpha-adoption.yaml)",
                                "ok: [localhost] => (item=uni01alpha.yaml)",
                                "ok: [localhost] => (item=uni02beta-adoption.yaml)",
                                "ok: [localhost] => (item=uni02beta.yaml)",
                                "ok: [localhost] => (item=uni04delta-adoption.yaml)",
                                "ok: [localhost] => (item=uni04delta-ipv6-adoption.yaml)",
                                "ok: [localhost] => (item=uni04delta-ipv6.yaml)",
                                "ok: [localhost] => (item=uni04delta.yaml)",
                                "ok: [localhost] => (item=uni05epsilon-adoption.yaml)",
                                "ok: [localhost] => (item=uni05epsilon.yaml)",
                                "ok: [localhost] => (item=uni06zeta-adoption.yaml)",
                                "ok: [localhost] => (item=uni06zeta.yaml)",
                                "ok: [localhost] => (item=uni07eta-adoption.yaml)",
                                "ok: [localhost] => (item=uni07eta.yaml)",
                                "ok: [localhost] => (item=uni09iota-adoption.yaml)",
                                "ok: [localhost] => (item=uni09iota.yaml)",
                                "ok: [localhost] => (item=vhosts-compact.yaml)",
                                "",
                                "TASK [Prepare automation data cifmw_deploy_architecture_steps={{ vas['vas'][cifmw_architecture_scenario] }}] ***",
                                "Friday 12 June 2026  20:22:22 +0000 (0:00:02.052)       0:00:26.204 *********** ",
                                "Friday 12 June 2026  20:22:22 +0000 (0:00:02.052)       0:00:26.202 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Create needed SSH keypairs comment={{ item.comment }}, path={{ item.path }}, type=ecdsa, size=521] ***",
                                "Friday 12 June 2026  20:22:22 +0000 (0:00:00.049)       0:00:26.253 *********** ",
                                "Friday 12 June 2026  20:22:22 +0000 (0:00:00.049)       0:00:26.252 *********** ",
                                "changed: [localhost] => (item={'comment': 'Nova migration', 'path': '/home/zuul/ci-framework-data/artifacts/ecdsa_nova_migration'})",
                                "changed: [localhost] => (item={'comment': 'EDPM deploy key', 'path': '/home/zuul/ci-framework-data/artifacts/ecdsa_deploy'})",
                                "",
                                "TASK [Load public SSH keys path={{ item }}] ************************************",
                                "Friday 12 June 2026  20:22:23 +0000 (0:00:00.651)       0:00:26.905 *********** ",
                                "Friday 12 June 2026  20:22:23 +0000 (0:00:00.651)       0:00:26.904 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_nova_migration.pub)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_deploy.pub)",
                                "",
                                "TASK [Load private SSH keys path={{ item }}] ***********************************",
                                "Friday 12 June 2026  20:22:23 +0000 (0:00:00.404)       0:00:27.310 *********** ",
                                "Friday 12 June 2026  20:22:23 +0000 (0:00:00.404)       0:00:27.309 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_nova_migration)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ecdsa_deploy)",
                                "",
                                "TASK [Generate needed facts out of local files cifmw_ci_gen_kustomize_values_ssh_authorizedkeys={{",
                                "  _pub_keys.results[1].content | b64decode",
                                "}}, cifmw_ci_gen_kustomize_values_ssh_private_key={{",
                                "  _priv_keys.results[1].content | b64decode",
                                "}}, cifmw_ci_gen_kustomize_values_ssh_public_key={{",
                                "  _pub_keys.results[1].content | b64decode",
                                "}}, cifmw_ci_gen_kustomize_values_migration_pub_key={{",
                                "  _pub_keys.results[0].content | b64decode",
                                "}}, cifmw_ci_gen_kustomize_values_migration_priv_key={{",
                                "  _priv_keys.results[0].content | b64decode",
                                "}}, cifmw_ci_gen_kustomize_values_sshd_ranges={{",
                                "  [",
                                "    cifmw_networking_env_definition.networks.ctlplane.network_v4 | default (none),",
                                "    cifmw_networking_env_definition.networks.ctlplane.network_v6 | default (none)",
                                "  ] | select()",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.407)       0:00:27.718 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.407)       0:00:27.716 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Execute deployment steps name=kustomize_deploy, tasks_from=execute_step.yml, apply={'tags': ['edpm_deploy']}] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.073)       0:00:27.791 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.073)       0:00:27.790 *********** ",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.353)       0:00:28.145 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.353)       0:00:28.144 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.057)       0:00:28.202 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.057)       0:00:28.201 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.032)       0:00:28.235 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.032)       0:00:28.234 *********** ",
                                "ok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.048)       0:00:28.284 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.048)       0:00:28.282 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.040)       0:00:28.325 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.040)       0:00:28.323 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.049)       0:00:28.375 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.049)       0:00:28.373 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.085)       0:00:28.460 *********** ",
                                "Friday 12 June 2026  20:22:24 +0000 (0:00:00.085)       0:00:28.459 *********** ",
                                "ok: [localhost] => (item={'name': 'namespace-values', 'src_file': 'values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.258)       0:00:28.718 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.258)       0:00:28.717 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace/namespace name=run_hook] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.082)       0:00:28.801 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.082)       0:00:28.800 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace/namespace name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:28.858 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:28.857 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.105)       0:00:28.964 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.105)       0:00:28.963 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:29.021 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.057)       0:00:29.020 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.079)       0:00:29.101 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.079)       0:00:29.099 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.056)       0:00:29.157 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.056)       0:00:29.155 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.225)       0:00:29.383 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.225)       0:00:29.381 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.068)       0:00:29.451 *********** ",
                                "Friday 12 June 2026  20:22:25 +0000 (0:00:00.068)       0:00:29.450 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.205)       0:00:29.656 *********** ",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.205)       0:00:29.655 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.254)       0:00:29.911 *********** ",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.254)       0:00:29.910 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.049)       0:00:29.961 *********** ",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.049)       0:00:29.960 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.204)       0:00:30.166 *********** ",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.204)       0:00:30.164 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.093)       0:00:30.259 *********** ",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.093)       0:00:30.258 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.076)       0:00:30.336 *********** ",
                                "Friday 12 June 2026  20:22:26 +0000 (0:00:00.076)       0:00:30.335 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:27 +0000 (0:00:00.624)       0:00:30.960 *********** ",
                                "Friday 12 June 2026  20:22:27 +0000 (0:00:00.624)       0:00:30.959 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:27 +0000 (0:00:00.496)       0:00:31.457 *********** ",
                                "Friday 12 June 2026  20:22:27 +0000 (0:00:00.496)       0:00:31.456 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.470)       0:00:31.928 *********** ",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.470)       0:00:31.927 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.105)       0:00:32.034 *********** ",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.105)       0:00:32.032 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.073)       0:00:32.107 *********** ",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.073)       0:00:32.106 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.249)       0:00:32.356 *********** ",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.249)       0:00:32.355 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.087)       0:00:32.443 *********** ",
                                "Friday 12 June 2026  20:22:28 +0000 (0:00:00.087)       0:00:32.442 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:22:29 +0000 (0:00:00.496)       0:00:32.940 *********** ",
                                "Friday 12 June 2026  20:22:29 +0000 (0:00:00.496)       0:00:32.939 *********** ",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:29 +0000 (0:00:00.110)       0:00:33.051 *********** ",
                                "Friday 12 June 2026  20:22:29 +0000 (0:00:00.110)       0:00:33.050 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:29 +0000 (0:00:00.276)       0:00:33.327 *********** ",
                                "Friday 12 June 2026  20:22:29 +0000 (0:00:00.276)       0:00:33.326 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace/namespace mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:22:30 +0000 (0:00:00.456)       0:00:33.784 *********** ",
                                "Friday 12 June 2026  20:22:30 +0000 (0:00:00.456)       0:00:33.783 *********** ",
                                "changed: [localhost] => (item=namespace-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:30 +0000 (0:00:00.335)       0:00:34.119 *********** ",
                                "Friday 12 June 2026  20:22:30 +0000 (0:00:00.335)       0:00:34.118 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace/namespace chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:22:30 +0000 (0:00:00.078)       0:00:34.198 *********** ",
                                "Friday 12 June 2026  20:22:30 +0000 (0:00:00.078)       0:00:34.197 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.429)       0:00:34.627 *********** ",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.429)       0:00:34.626 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace/namespace executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.554)       0:00:35.182 *********** ",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.554)       0:00:35.181 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.123)       0:00:35.305 *********** ",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.123)       0:00:35.304 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace/namespace remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.075)       0:00:35.381 *********** ",
                                "Friday 12 June 2026  20:22:31 +0000 (0:00:00.075)       0:00:35.379 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.303)       0:00:35.685 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.303)       0:00:35.684 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace/namespace _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.084)       0:00:35.770 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.084)       0:00:35.768 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace/namespace _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.080)       0:00:35.850 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.080)       0:00:35.849 *********** ",
                                "skipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.074)       0:00:35.925 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.074)       0:00:35.924 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace/namespace name=run_hook] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.069)       0:00:35.994 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.069)       0:00:35.993 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.079)       0:00:36.074 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.079)       0:00:36.073 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.056)       0:00:36.130 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.056)       0:00:36.129 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.040)       0:00:36.170 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.040)       0:00:36.169 *********** ",
                                "ok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.042)       0:00:36.213 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.042)       0:00:36.211 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.041)       0:00:36.254 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.041)       0:00:36.253 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.044)       0:00:36.299 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.044)       0:00:36.297 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.060)       0:00:36.359 *********** ",
                                "Friday 12 June 2026  20:22:32 +0000 (0:00:00.060)       0:00:36.358 *********** ",
                                "ok: [localhost] => (item={'name': 'network-values', 'src_file': '../../../../multi-namespace/control-plane/networking/nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.267)       0:00:36.627 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.267)       0:00:36.626 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking/nncp name=run_hook] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.105)       0:00:36.732 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.105)       0:00:36.731 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane/networking/nncp name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.074)       0:00:36.807 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.074)       0:00:36.805 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.135)       0:00:36.943 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.135)       0:00:36.941 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.078)       0:00:37.021 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.078)       0:00:37.020 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.091)       0:00:37.113 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.091)       0:00:37.112 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.060)       0:00:37.173 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.060)       0:00:37.172 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.264)       0:00:37.437 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.264)       0:00:37.436 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.077)       0:00:37.515 *********** ",
                                "Friday 12 June 2026  20:22:33 +0000 (0:00:00.077)       0:00:37.514 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.240)       0:00:37.755 *********** ",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.240)       0:00:37.754 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.263)       0:00:38.019 *********** ",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.263)       0:00:38.018 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/network_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert we have needed parameters that=['cifmw_networking_env_definition is defined']] ***",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.103)       0:00:38.122 *********** ",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.103)       0:00:38.121 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.077)       0:00:38.200 *********** ",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.077)       0:00:38.199 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.262)       0:00:38.462 *********** ",
                                "Friday 12 June 2026  20:22:34 +0000 (0:00:00.262)       0:00:38.461 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:22:35 +0000 (0:00:00.599)       0:00:39.062 *********** ",
                                "Friday 12 June 2026  20:22:35 +0000 (0:00:00.599)       0:00:39.060 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:35 +0000 (0:00:00.079)       0:00:39.141 *********** ",
                                "Friday 12 June 2026  20:22:35 +0000 (0:00:00.079)       0:00:39.140 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:36 +0000 (0:00:00.489)       0:00:39.630 *********** ",
                                "Friday 12 June 2026  20:22:36 +0000 (0:00:00.489)       0:00:39.629 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:36 +0000 (0:00:00.532)       0:00:40.163 *********** ",
                                "Friday 12 June 2026  20:22:36 +0000 (0:00:00.533)       0:00:40.162 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.495)       0:00:40.659 *********** ",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.495)       0:00:40.658 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.121)       0:00:40.780 *********** ",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.121)       0:00:40.779 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.075)       0:00:40.856 *********** ",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.075)       0:00:40.855 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.247)       0:00:41.103 *********** ",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.247)       0:00:41.102 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.060)       0:00:41.164 *********** ",
                                "Friday 12 June 2026  20:22:37 +0000 (0:00:00.060)       0:00:41.162 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:22:38 +0000 (0:00:00.660)       0:00:41.824 *********** ",
                                "Friday 12 June 2026  20:22:38 +0000 (0:00:00.660)       0:00:41.823 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:38 +0000 (0:00:00.211)       0:00:42.036 *********** ",
                                "Friday 12 June 2026  20:22:38 +0000 (0:00:00.211)       0:00:42.035 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:38 +0000 (0:00:00.273)       0:00:42.310 *********** ",
                                "Friday 12 June 2026  20:22:38 +0000 (0:00:00.273)       0:00:42.308 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane/networking/nncp mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:22:39 +0000 (0:00:00.505)       0:00:42.815 *********** ",
                                "Friday 12 June 2026  20:22:39 +0000 (0:00:00.505)       0:00:42.813 *********** ",
                                "changed: [localhost] => (item=network-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:39 +0000 (0:00:00.355)       0:00:43.170 *********** ",
                                "Friday 12 June 2026  20:22:39 +0000 (0:00:00.355)       0:00:43.169 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane/networking/nncp chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:22:39 +0000 (0:00:00.080)       0:00:43.251 *********** ",
                                "Friday 12 June 2026  20:22:39 +0000 (0:00:00.080)       0:00:43.250 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.660)       0:00:43.912 *********** ",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.660)       0:00:43.911 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane/networking/nncp executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.452)       0:00:44.364 *********** ",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.452)       0:00:44.363 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.071)       0:00:44.436 *********** ",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.071)       0:00:44.434 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane/networking/nncp remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.069)       0:00:44.505 *********** ",
                                "Friday 12 June 2026  20:22:40 +0000 (0:00:00.069)       0:00:44.504 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.326)       0:00:44.831 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.326)       0:00:44.830 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane/networking/nncp _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:44.893 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:44.891 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane/networking/nncp _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.052)       0:00:44.945 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.052)       0:00:44.944 *********** ",
                                "skipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.077)       0:00:45.023 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.078)       0:00:45.022 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking/nncp name=run_hook] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.075)       0:00:45.099 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.075)       0:00:45.098 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.079)       0:00:45.179 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.079)       0:00:45.177 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:45.240 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.061)       0:00:45.239 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.028)       0:00:45.268 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.028)       0:00:45.267 *********** ",
                                "ok: [localhost] => (item=oc -n openstack2 wait nncp -l osp/nncm-config-type=standard --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.043)       0:00:45.312 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.043)       0:00:45.310 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.024)       0:00:45.336 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.024)       0:00:45.335 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.048)       0:00:45.385 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.048)       0:00:45.383 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.058)       0:00:45.443 *********** ",
                                "Friday 12 June 2026  20:22:41 +0000 (0:00:00.058)       0:00:45.442 *********** ",
                                "ok: [localhost] => (item={'name': 'network-values2', 'src_file': '../../../../multi-namespace/control-plane2/networking/nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.247)       0:00:45.691 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.247)       0:00:45.689 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking/nncp name=run_hook] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.088)       0:00:45.779 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.088)       0:00:45.778 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane2/networking/nncp name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.062)       0:00:45.842 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.062)       0:00:45.840 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.134)       0:00:45.976 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.134)       0:00:45.975 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.075)       0:00:46.052 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.075)       0:00:46.050 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.099)       0:00:46.151 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.099)       0:00:46.149 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.076)       0:00:46.227 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.076)       0:00:46.226 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.256)       0:00:46.484 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.256)       0:00:46.483 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.082)       0:00:46.566 *********** ",
                                "Friday 12 June 2026  20:22:42 +0000 (0:00:00.082)       0:00:46.565 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.248)       0:00:46.814 *********** ",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.248)       0:00:46.813 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.290)       0:00:47.105 *********** ",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.290)       0:00:47.104 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.042)       0:00:47.148 *********** ",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.042)       0:00:47.146 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.179)       0:00:47.327 *********** ",
                                "Friday 12 June 2026  20:22:43 +0000 (0:00:00.179)       0:00:47.326 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:22:44 +0000 (0:00:00.607)       0:00:47.935 *********** ",
                                "Friday 12 June 2026  20:22:44 +0000 (0:00:00.607)       0:00:47.934 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:44 +0000 (0:00:00.107)       0:00:48.043 *********** ",
                                "Friday 12 June 2026  20:22:44 +0000 (0:00:00.107)       0:00:48.042 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:44 +0000 (0:00:00.504)       0:00:48.547 *********** ",
                                "Friday 12 June 2026  20:22:44 +0000 (0:00:00.504)       0:00:48.546 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:45 +0000 (0:00:00.512)       0:00:49.060 *********** ",
                                "Friday 12 June 2026  20:22:45 +0000 (0:00:00.512)       0:00:49.058 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:22:45 +0000 (0:00:00.510)       0:00:49.570 *********** ",
                                "Friday 12 June 2026  20:22:45 +0000 (0:00:00.510)       0:00:49.569 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.118)       0:00:49.689 *********** ",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.118)       0:00:49.688 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.077)       0:00:49.767 *********** ",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.077)       0:00:49.766 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.260)       0:00:50.027 *********** ",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.260)       0:00:50.026 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.084)       0:00:50.112 *********** ",
                                "Friday 12 June 2026  20:22:46 +0000 (0:00:00.084)       0:00:50.110 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:22:47 +0000 (0:00:00.675)       0:00:50.787 *********** ",
                                "Friday 12 June 2026  20:22:47 +0000 (0:00:00.675)       0:00:50.786 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:47 +0000 (0:00:00.179)       0:00:50.966 *********** ",
                                "Friday 12 June 2026  20:22:47 +0000 (0:00:00.179)       0:00:50.965 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:47 +0000 (0:00:00.272)       0:00:51.239 *********** ",
                                "Friday 12 June 2026  20:22:47 +0000 (0:00:00.272)       0:00:51.237 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2/networking/nncp mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:22:48 +0000 (0:00:00.494)       0:00:51.733 *********** ",
                                "Friday 12 June 2026  20:22:48 +0000 (0:00:00.494)       0:00:51.732 *********** ",
                                "changed: [localhost] => (item=network-values2)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:48 +0000 (0:00:00.323)       0:00:52.057 *********** ",
                                "Friday 12 June 2026  20:22:48 +0000 (0:00:00.323)       0:00:52.056 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2/networking/nncp chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:22:48 +0000 (0:00:00.064)       0:00:52.122 *********** ",
                                "Friday 12 June 2026  20:22:48 +0000 (0:00:00.064)       0:00:52.120 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.613)       0:00:52.736 *********** ",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.613)       0:00:52.734 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane2/networking/nncp executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.483)       0:00:53.220 *********** ",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.483)       0:00:53.218 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.086)       0:00:53.306 *********** ",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.086)       0:00:53.304 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane2/networking/nncp remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.081)       0:00:53.387 *********** ",
                                "Friday 12 June 2026  20:22:49 +0000 (0:00:00.081)       0:00:53.386 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.305)       0:00:53.693 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.305)       0:00:53.692 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane2/networking/nncp _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.078)       0:00:53.771 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.078)       0:00:53.770 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane2/networking/nncp _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.843 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.841 *********** ",
                                "skipping: [localhost] => (item=oc -n openstack2 wait nncp -l osp/nncm-config-type=standard --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.914 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.071)       0:00:53.913 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking/nncp name=run_hook] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:53.976 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:53.975 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.084)       0:00:54.060 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.084)       0:00:54.059 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.070)       0:00:54.131 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.070)       0:00:54.130 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.043)       0:00:54.174 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.043)       0:00:54.173 *********** ",
                                "ok: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.045)       0:00:54.220 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.045)       0:00:54.218 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.028)       0:00:54.248 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.028)       0:00:54.247 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.041)       0:00:54.290 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.041)       0:00:54.289 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:54.353 *********** ",
                                "Friday 12 June 2026  20:22:50 +0000 (0:00:00.062)       0:00:54.352 *********** ",
                                "ok: [localhost] => (item={'name': 'network-values', 'src_file': '../../../multi-namespace/control-plane/networking/nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.262)       0:00:54.615 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.262)       0:00:54.614 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking name=run_hook] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.079)       0:00:54.695 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.079)       0:00:54.694 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane/networking name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.060)       0:00:54.756 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.060)       0:00:54.755 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.118)       0:00:54.874 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.118)       0:00:54.873 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.051)       0:00:54.926 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.051)       0:00:54.925 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.120)       0:00:55.047 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.120)       0:00:55.045 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.063)       0:00:55.110 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.063)       0:00:55.109 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.256)       0:00:55.367 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.256)       0:00:55.365 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.094)       0:00:55.461 *********** ",
                                "Friday 12 June 2026  20:22:51 +0000 (0:00:00.094)       0:00:55.460 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.275)       0:00:55.737 *********** ",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.275)       0:00:55.736 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.312)       0:00:56.050 *********** ",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.312)       0:00:56.048 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/network_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert we have needed parameters that=['cifmw_networking_env_definition is defined']] ***",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.094)       0:00:56.144 *********** ",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.094)       0:00:56.142 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.050)       0:00:56.194 *********** ",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.050)       0:00:56.193 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.246)       0:00:56.441 *********** ",
                                "Friday 12 June 2026  20:22:52 +0000 (0:00:00.246)       0:00:56.439 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:22:53 +0000 (0:00:00.658)       0:00:57.099 *********** ",
                                "Friday 12 June 2026  20:22:53 +0000 (0:00:00.658)       0:00:57.098 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:53 +0000 (0:00:00.101)       0:00:57.200 *********** ",
                                "Friday 12 June 2026  20:22:53 +0000 (0:00:00.101)       0:00:57.199 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:54 +0000 (0:00:00.484)       0:00:57.685 *********** ",
                                "Friday 12 June 2026  20:22:54 +0000 (0:00:00.484)       0:00:57.683 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:54 +0000 (0:00:00.474)       0:00:58.159 *********** ",
                                "Friday 12 June 2026  20:22:54 +0000 (0:00:00.474)       0:00:58.158 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.510)       0:00:58.669 *********** ",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.510)       0:00:58.668 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.125)       0:00:58.794 *********** ",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.124)       0:00:58.793 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.085)       0:00:58.880 *********** ",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.085)       0:00:58.878 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.385)       0:00:59.265 *********** ",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.385)       0:00:59.264 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.042)       0:00:59.308 *********** ",
                                "Friday 12 June 2026  20:22:55 +0000 (0:00:00.042)       0:00:59.307 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:22:56 +0000 (0:00:00.569)       0:00:59.878 *********** ",
                                "Friday 12 June 2026  20:22:56 +0000 (0:00:00.569)       0:00:59.876 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:22:56 +0000 (0:00:00.124)       0:01:00.002 *********** ",
                                "Friday 12 June 2026  20:22:56 +0000 (0:00:00.124)       0:01:00.001 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:56 +0000 (0:00:00.204)       0:01:00.206 *********** ",
                                "Friday 12 June 2026  20:22:56 +0000 (0:00:00.204)       0:01:00.205 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane/networking mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.483)       0:01:00.690 *********** ",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.483)       0:01:00.688 *********** ",
                                "ok: [localhost] => (item=network-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.298)       0:01:00.988 *********** ",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.298)       0:01:00.986 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane/networking chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.078)       0:01:01.066 *********** ",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.078)       0:01:01.065 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.539)       0:01:01.606 *********** ",
                                "Friday 12 June 2026  20:22:57 +0000 (0:00:00.539)       0:01:01.605 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane/networking executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.518)       0:01:02.125 *********** ",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.518)       0:01:02.124 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.055)       0:01:02.180 *********** ",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.055)       0:01:02.179 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane/networking remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.058)       0:01:02.239 *********** ",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.058)       0:01:02.238 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.338)       0:01:02.578 *********** ",
                                "Friday 12 June 2026  20:22:58 +0000 (0:00:00.338)       0:01:02.576 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane/networking _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.642 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.640 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane/networking _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.064)       0:01:02.706 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.064)       0:01:02.705 *********** ",
                                "skipping: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.068)       0:01:02.775 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.068)       0:01:02.774 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane/networking name=run_hook] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.838 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.063)       0:01:02.837 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.079)       0:01:02.917 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.079)       0:01:02.916 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.070)       0:01:02.988 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.070)       0:01:02.987 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.038)       0:01:03.027 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.038)       0:01:03.025 *********** ",
                                "ok: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.044)       0:01:03.071 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.044)       0:01:03.070 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.033)       0:01:03.104 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.033)       0:01:03.103 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.051)       0:01:03.156 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.051)       0:01:03.155 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.055)       0:01:03.212 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.055)       0:01:03.211 *********** ",
                                "ok: [localhost] => (item={'name': 'network-values2', 'src_file': '../../../multi-namespace/control-plane2/networking/nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.310)       0:01:03.523 *********** ",
                                "Friday 12 June 2026  20:22:59 +0000 (0:00:00.310)       0:01:03.521 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking name=run_hook] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.147)       0:01:03.670 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.147)       0:01:03.669 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane2/networking name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.077)       0:01:03.748 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.077)       0:01:03.746 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.106)       0:01:03.854 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.106)       0:01:03.853 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.049)       0:01:03.904 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.049)       0:01:03.902 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.068)       0:01:03.972 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.068)       0:01:03.971 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.074)       0:01:04.047 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.074)       0:01:04.045 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.248)       0:01:04.295 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.248)       0:01:04.294 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.080)       0:01:04.376 *********** ",
                                "Friday 12 June 2026  20:23:00 +0000 (0:00:00.080)       0:01:04.375 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.269)       0:01:04.646 *********** ",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.270)       0:01:04.645 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.282)       0:01:04.929 *********** ",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.282)       0:01:04.928 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.058)       0:01:04.987 *********** ",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.058)       0:01:04.986 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.229)       0:01:05.217 *********** ",
                                "Friday 12 June 2026  20:23:01 +0000 (0:00:00.229)       0:01:05.216 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:02 +0000 (0:00:00.584)       0:01:05.802 *********** ",
                                "Friday 12 June 2026  20:23:02 +0000 (0:00:00.584)       0:01:05.800 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:02 +0000 (0:00:00.101)       0:01:05.904 *********** ",
                                "Friday 12 June 2026  20:23:02 +0000 (0:00:00.101)       0:01:05.902 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:02 +0000 (0:00:00.435)       0:01:06.339 *********** ",
                                "Friday 12 June 2026  20:23:02 +0000 (0:00:00.435)       0:01:06.338 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.479)       0:01:06.819 *********** ",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.479)       0:01:06.818 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.485)       0:01:07.305 *********** ",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.485)       0:01:07.303 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.116)       0:01:07.422 *********** ",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.116)       0:01:07.420 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.061)       0:01:07.483 *********** ",
                                "Friday 12 June 2026  20:23:03 +0000 (0:00:00.061)       0:01:07.482 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:04 +0000 (0:00:00.253)       0:01:07.737 *********** ",
                                "Friday 12 June 2026  20:23:04 +0000 (0:00:00.253)       0:01:07.736 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:04 +0000 (0:00:00.085)       0:01:07.823 *********** ",
                                "Friday 12 June 2026  20:23:04 +0000 (0:00:00.085)       0:01:07.821 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:04 +0000 (0:00:00.624)       0:01:08.447 *********** ",
                                "Friday 12 June 2026  20:23:04 +0000 (0:00:00.624)       0:01:08.446 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:05 +0000 (0:00:00.181)       0:01:08.629 *********** ",
                                "Friday 12 June 2026  20:23:05 +0000 (0:00:00.181)       0:01:08.627 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:05 +0000 (0:00:00.237)       0:01:08.866 *********** ",
                                "Friday 12 June 2026  20:23:05 +0000 (0:00:00.237)       0:01:08.865 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2/networking mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:23:05 +0000 (0:00:00.565)       0:01:09.431 *********** ",
                                "Friday 12 June 2026  20:23:05 +0000 (0:00:00.565)       0:01:09.430 *********** ",
                                "ok: [localhost] => (item=network-values2)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:06 +0000 (0:00:00.317)       0:01:09.749 *********** ",
                                "Friday 12 June 2026  20:23:06 +0000 (0:00:00.317)       0:01:09.748 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2/networking chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:23:06 +0000 (0:00:00.077)       0:01:09.827 *********** ",
                                "Friday 12 June 2026  20:23:06 +0000 (0:00:00.077)       0:01:09.826 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:06 +0000 (0:00:00.639)       0:01:10.466 *********** ",
                                "Friday 12 June 2026  20:23:06 +0000 (0:00:00.639)       0:01:10.465 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane2/networking executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.526)       0:01:10.992 *********** ",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.526)       0:01:10.991 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.083)       0:01:11.075 *********** ",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.083)       0:01:11.074 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane2/networking remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.092)       0:01:11.168 *********** ",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.092)       0:01:11.167 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.346)       0:01:11.514 *********** ",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.346)       0:01:11.513 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane2/networking _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.082)       0:01:11.597 *********** ",
                                "Friday 12 June 2026  20:23:07 +0000 (0:00:00.082)       0:01:11.596 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane2/networking _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.666 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.665 *********** ",
                                "skipping: [localhost] => (item=oc -n metallb-system wait pod -l app=metallb -l component=speaker --for condition=Ready --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.734 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.068)       0:01:11.733 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane2/networking name=run_hook] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.087)       0:01:11.821 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.087)       0:01:11.820 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.059)       0:01:11.880 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.059)       0:01:11.879 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.053)       0:01:11.934 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.053)       0:01:11.933 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.046)       0:01:11.981 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.046)       0:01:11.980 *********** ",
                                "ok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for jsonpath='{.metadata.name}'=controlplane --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.021 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.020 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.061 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.039)       0:01:12.059 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.052)       0:01:12.114 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.052)       0:01:12.112 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.063)       0:01:12.177 *********** ",
                                "Friday 12 June 2026  20:23:08 +0000 (0:00:00.063)       0:01:12.176 *********** ",
                                "ok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})",
                                "ok: [localhost] => (item={'name': 'network-values', 'src_file': '../../multi-namespace/control-plane/networking/nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.495)       0:01:12.673 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.495)       0:01:12.672 *********** ",
                                "ok: [localhost] => (item=service-values.yaml)",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane name=run_hook] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.139)       0:01:12.812 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.139)       0:01:12.811 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.054)       0:01:12.867 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.054)       0:01:12.866 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.158)       0:01:13.025 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.158)       0:01:13.024 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.052)       0:01:13.077 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.052)       0:01:13.076 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.073)       0:01:13.151 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.073)       0:01:13.150 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.057)       0:01:13.209 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.057)       0:01:13.208 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.268)       0:01:13.477 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.268)       0:01:13.476 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.083)       0:01:13.561 *********** ",
                                "Friday 12 June 2026  20:23:09 +0000 (0:00:00.083)       0:01:13.560 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.247)       0:01:13.809 *********** ",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.247)       0:01:13.808 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.258)       0:01:14.068 *********** ",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.258)       0:01:14.066 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.136 *********** ",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.135 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.252)       0:01:14.388 *********** ",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.252)       0:01:14.387 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.085)       0:01:14.474 *********** ",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.085)       0:01:14.472 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.542 *********** ",
                                "Friday 12 June 2026  20:23:10 +0000 (0:00:00.068)       0:01:14.541 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:11 +0000 (0:00:00.469)       0:01:15.012 *********** ",
                                "Friday 12 June 2026  20:23:11 +0000 (0:00:00.469)       0:01:15.011 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:11 +0000 (0:00:00.468)       0:01:15.480 *********** ",
                                "Friday 12 June 2026  20:23:11 +0000 (0:00:00.467)       0:01:15.479 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.473)       0:01:15.953 *********** ",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.473)       0:01:15.952 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.116)       0:01:16.070 *********** ",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.116)       0:01:16.068 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.072)       0:01:16.142 *********** ",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.072)       0:01:16.141 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.267)       0:01:16.410 *********** ",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.267)       0:01:16.409 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.073)       0:01:16.483 *********** ",
                                "Friday 12 June 2026  20:23:12 +0000 (0:00:00.073)       0:01:16.482 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:13 +0000 (0:00:00.478)       0:01:16.962 *********** ",
                                "Friday 12 June 2026  20:23:13 +0000 (0:00:00.479)       0:01:16.961 *********** ",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:13 +0000 (0:00:00.101)       0:01:17.064 *********** ",
                                "Friday 12 June 2026  20:23:13 +0000 (0:00:00.101)       0:01:17.062 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:13 +0000 (0:00:00.244)       0:01:17.308 *********** ",
                                "Friday 12 June 2026  20:23:13 +0000 (0:00:00.244)       0:01:17.307 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.521)       0:01:17.830 *********** ",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.521)       0:01:17.829 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.078)       0:01:17.908 *********** ",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.077)       0:01:17.907 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.106)       0:01:18.015 *********** ",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.106)       0:01:18.014 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.100)       0:01:18.116 *********** ",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.100)       0:01:18.114 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.248)       0:01:18.364 *********** ",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.248)       0:01:18.363 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.098)       0:01:18.463 *********** ",
                                "Friday 12 June 2026  20:23:14 +0000 (0:00:00.098)       0:01:18.462 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.254)       0:01:18.718 *********** ",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.254)       0:01:18.717 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.290)       0:01:19.008 *********** ",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.290)       0:01:19.007 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/network_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert we have needed parameters that=['cifmw_networking_env_definition is defined']] ***",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.094)       0:01:19.102 *********** ",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.094)       0:01:19.101 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.068)       0:01:19.171 *********** ",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.068)       0:01:19.170 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.250)       0:01:19.422 *********** ",
                                "Friday 12 June 2026  20:23:15 +0000 (0:00:00.250)       0:01:19.421 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:16 +0000 (0:00:00.625)       0:01:20.047 *********** ",
                                "Friday 12 June 2026  20:23:16 +0000 (0:00:00.625)       0:01:20.046 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:16 +0000 (0:00:00.097)       0:01:20.145 *********** ",
                                "Friday 12 June 2026  20:23:16 +0000 (0:00:00.097)       0:01:20.144 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:17 +0000 (0:00:00.506)       0:01:20.651 *********** ",
                                "Friday 12 June 2026  20:23:17 +0000 (0:00:00.506)       0:01:20.650 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:17 +0000 (0:00:00.513)       0:01:21.165 *********** ",
                                "Friday 12 June 2026  20:23:17 +0000 (0:00:00.513)       0:01:21.164 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.517)       0:01:21.683 *********** ",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.517)       0:01:21.681 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.120)       0:01:21.803 *********** ",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.120)       0:01:21.802 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.090)       0:01:21.893 *********** ",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.090)       0:01:21.892 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.267)       0:01:22.161 *********** ",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.267)       0:01:22.159 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.060)       0:01:22.221 *********** ",
                                "Friday 12 June 2026  20:23:18 +0000 (0:00:00.060)       0:01:22.220 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:19 +0000 (0:00:00.658)       0:01:22.879 *********** ",
                                "Friday 12 June 2026  20:23:19 +0000 (0:00:00.658)       0:01:22.878 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:19 +0000 (0:00:00.191)       0:01:23.071 *********** ",
                                "Friday 12 June 2026  20:23:19 +0000 (0:00:00.191)       0:01:23.070 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:19 +0000 (0:00:00.264)       0:01:23.336 *********** ",
                                "Friday 12 June 2026  20:23:19 +0000 (0:00:00.264)       0:01:23.335 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:23:20 +0000 (0:00:00.508)       0:01:23.845 *********** ",
                                "Friday 12 June 2026  20:23:20 +0000 (0:00:00.508)       0:01:23.844 *********** ",
                                "changed: [localhost] => (item=service-values)",
                                "ok: [localhost] => (item=network-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:20 +0000 (0:00:00.652)       0:01:24.498 *********** ",
                                "Friday 12 June 2026  20:23:20 +0000 (0:00:00.653)       0:01:24.497 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:23:20 +0000 (0:00:00.083)       0:01:24.582 *********** ",
                                "Friday 12 June 2026  20:23:20 +0000 (0:00:00.083)       0:01:24.580 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:21 +0000 (0:00:00.614)       0:01:25.196 *********** ",
                                "Friday 12 June 2026  20:23:21 +0000 (0:00:00.614)       0:01:25.195 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.446)       0:01:25.642 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.446)       0:01:25.641 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.070)       0:01:25.713 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.070)       0:01:25.711 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.082)       0:01:25.795 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.082)       0:01:25.794 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.332)       0:01:26.128 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.332)       0:01:26.127 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.081)       0:01:26.210 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.081)       0:01:26.209 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.101)       0:01:26.311 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.101)       0:01:26.310 *********** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for jsonpath='{.metadata.name}'=controlplane --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.371 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.370 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane name=run_hook] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.051)       0:01:26.423 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.051)       0:01:26.422 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.484 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.060)       0:01:26.483 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.054)       0:01:26.538 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.054)       0:01:26.537 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.035)       0:01:26.574 *********** ",
                                "Friday 12 June 2026  20:23:22 +0000 (0:00:00.035)       0:01:26.572 *********** ",
                                "ok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=60m)",
                                "ok: [localhost] => (item=oc -n openstack2 wait osctlplane controlplane --for condition=Ready --timeout=60m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.059)       0:01:26.633 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.059)       0:01:26.631 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.030)       0:01:26.663 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.030)       0:01:26.661 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.058)       0:01:26.721 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.058)       0:01:26.720 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.079)       0:01:26.801 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.079)       0:01:26.800 *********** ",
                                "ok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})",
                                "ok: [localhost] => (item={'name': 'network-values2', 'src_file': '../../multi-namespace/control-plane2/networking/nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.471)       0:01:27.272 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.471)       0:01:27.271 *********** ",
                                "ok: [localhost] => (item=service-values.yaml)",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/control-plane2 name=run_hook] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.124)       0:01:27.397 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.124)       0:01:27.396 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/control-plane2 name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.060)       0:01:27.457 *********** ",
                                "Friday 12 June 2026  20:23:23 +0000 (0:00:00.060)       0:01:27.456 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.157)       0:01:27.615 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.157)       0:01:27.614 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.049)       0:01:27.665 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.049)       0:01:27.663 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.101)       0:01:27.766 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.101)       0:01:27.765 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.088)       0:01:27.854 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.088)       0:01:27.853 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.260)       0:01:28.114 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.260)       0:01:28.113 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.093)       0:01:28.208 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.093)       0:01:28.207 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.250)       0:01:28.458 *********** ",
                                "Friday 12 June 2026  20:23:24 +0000 (0:00:00.250)       0:01:28.457 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.243)       0:01:28.701 *********** ",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.243)       0:01:28.700 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.089)       0:01:28.790 *********** ",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.089)       0:01:28.789 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.225)       0:01:29.016 *********** ",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.225)       0:01:29.015 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.100)       0:01:29.116 *********** ",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.100)       0:01:29.115 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.108)       0:01:29.224 *********** ",
                                "Friday 12 June 2026  20:23:25 +0000 (0:00:00.108)       0:01:29.223 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:26 +0000 (0:00:00.488)       0:01:29.713 *********** ",
                                "Friday 12 June 2026  20:23:26 +0000 (0:00:00.488)       0:01:29.712 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:26 +0000 (0:00:00.505)       0:01:30.218 *********** ",
                                "Friday 12 June 2026  20:23:26 +0000 (0:00:00.505)       0:01:30.217 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.519)       0:01:30.738 *********** ",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.519)       0:01:30.737 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.100)       0:01:30.838 *********** ",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.100)       0:01:30.837 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.059)       0:01:30.898 *********** ",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.059)       0:01:30.896 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.236)       0:01:31.134 *********** ",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.236)       0:01:31.132 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.057)       0:01:31.191 *********** ",
                                "Friday 12 June 2026  20:23:27 +0000 (0:00:00.057)       0:01:31.190 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/service-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.485)       0:01:31.677 *********** ",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.485)       0:01:31.675 *********** ",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.140)       0:01:31.817 *********** ",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.140)       0:01:31.816 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.248)       0:01:32.066 *********** ",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.248)       0:01:32.064 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.504)       0:01:32.570 *********** ",
                                "Friday 12 June 2026  20:23:28 +0000 (0:00:00.504)       0:01:32.569 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.080)       0:01:32.650 *********** ",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.079)       0:01:32.649 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.101)       0:01:32.751 *********** ",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.101)       0:01:32.750 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.069)       0:01:32.821 *********** ",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.069)       0:01:32.820 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.247)       0:01:33.069 *********** ",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.247)       0:01:33.068 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.096)       0:01:33.165 *********** ",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.096)       0:01:33.164 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.271)       0:01:33.437 *********** ",
                                "Friday 12 June 2026  20:23:29 +0000 (0:00:00.271)       0:01:33.436 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.259)       0:01:33.696 *********** ",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.259)       0:01:33.695 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.046)       0:01:33.743 *********** ",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.046)       0:01:33.741 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.209)       0:01:33.952 *********** ",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.209)       0:01:33.951 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.479)       0:01:34.432 *********** ",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.479)       0:01:34.431 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.087)       0:01:34.520 *********** ",
                                "Friday 12 June 2026  20:23:30 +0000 (0:00:00.087)       0:01:34.518 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:31 +0000 (0:00:00.412)       0:01:34.932 *********** ",
                                "Friday 12 June 2026  20:23:31 +0000 (0:00:00.412)       0:01:34.931 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:31 +0000 (0:00:00.468)       0:01:35.401 *********** ",
                                "Friday 12 June 2026  20:23:31 +0000 (0:00:00.468)       0:01:35.400 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.512)       0:01:35.913 *********** ",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.512)       0:01:35.912 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.110)       0:01:36.024 *********** ",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.110)       0:01:36.023 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.086)       0:01:36.110 *********** ",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.086)       0:01:36.109 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.259)       0:01:36.370 *********** ",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.259)       0:01:36.369 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.050)       0:01:36.421 *********** ",
                                "Friday 12 June 2026  20:23:32 +0000 (0:00:00.050)       0:01:36.419 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:33 +0000 (0:00:00.627)       0:01:37.048 *********** ",
                                "Friday 12 June 2026  20:23:33 +0000 (0:00:00.627)       0:01:37.047 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:33 +0000 (0:00:00.173)       0:01:37.222 *********** ",
                                "Friday 12 June 2026  20:23:33 +0000 (0:00:00.173)       0:01:37.221 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:33 +0000 (0:00:00.235)       0:01:37.458 *********** ",
                                "Friday 12 June 2026  20:23:33 +0000 (0:00:00.235)       0:01:37.457 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2 mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:23:34 +0000 (0:00:00.508)       0:01:37.967 *********** ",
                                "Friday 12 June 2026  20:23:34 +0000 (0:00:00.509)       0:01:37.966 *********** ",
                                "changed: [localhost] => (item=service-values)",
                                "ok: [localhost] => (item=network-values2)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:34 +0000 (0:00:00.626)       0:01:38.593 *********** ",
                                "Friday 12 June 2026  20:23:34 +0000 (0:00:00.626)       0:01:38.592 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2 chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:23:35 +0000 (0:00:00.072)       0:01:38.666 *********** ",
                                "Friday 12 June 2026  20:23:35 +0000 (0:00:00.072)       0:01:38.665 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:35 +0000 (0:00:00.567)       0:01:39.233 *********** ",
                                "Friday 12 June 2026  20:23:35 +0000 (0:00:00.567)       0:01:39.232 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/control-plane2 executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.487)       0:01:39.721 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.487)       0:01:39.720 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.056)       0:01:39.777 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.056)       0:01:39.776 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/control-plane2 remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:39.852 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:39.851 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.303)       0:01:40.156 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.303)       0:01:40.155 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/control-plane2 _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.238 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.237 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/control-plane2 _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:40.314 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.075)       0:01:40.313 *********** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=60m) ",
                                "skipping: [localhost] => (item=oc -n openstack2 wait osctlplane controlplane --for condition=Ready --timeout=60m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.101)       0:01:40.415 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.101)       0:01:40.414 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/control-plane2 name=run_hook] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.497 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.082)       0:01:40.496 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.096)       0:01:40.593 *********** ",
                                "Friday 12 June 2026  20:23:36 +0000 (0:00:00.096)       0:01:40.592 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.072)       0:01:40.666 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.072)       0:01:40.665 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.046)       0:01:40.712 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.046)       0:01:40.711 *********** ",
                                "ok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.048)       0:01:40.761 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.048)       0:01:40.759 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.089)       0:01:40.850 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.089)       0:01:40.848 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.036)       0:01:40.886 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.036)       0:01:40.885 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.065)       0:01:40.952 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.065)       0:01:40.951 *********** ",
                                "ok: [localhost] => (item={'name': 'edpm-nodeset-values', 'src_file': '../../../multi-namespace/edpm/nodeset/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.265)       0:01:41.217 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.265)       0:01:41.216 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/edpm/nodeset name=run_hook] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.099)       0:01:41.317 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.099)       0:01:41.315 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/edpm/nodeset name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.063)       0:01:41.380 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.063)       0:01:41.379 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.117)       0:01:41.498 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.117)       0:01:41.497 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.052)       0:01:41.550 *********** ",
                                "Friday 12 June 2026  20:23:37 +0000 (0:00:00.052)       0:01:41.549 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.074)       0:01:41.624 *********** ",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.074)       0:01:41.623 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.085)       0:01:41.710 *********** ",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.085)       0:01:41.709 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.262)       0:01:41.973 *********** ",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.262)       0:01:41.972 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.090)       0:01:42.063 *********** ",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.090)       0:01:42.062 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.264)       0:01:42.328 *********** ",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.264)       0:01:42.327 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.250)       0:01:42.579 *********** ",
                                "Friday 12 June 2026  20:23:38 +0000 (0:00:00.250)       0:01:42.577 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/edpm_nodeset_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Check if all required variables for accessing the node is provided. _raw_params=edpm_core_asserts.yml] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.092)       0:01:42.671 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.092)       0:01:42.670 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/edpm_core_asserts.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure the required parameters are defined and configured. that=['cifmw_networking_env_definition is defined', 'cifmw_ci_gen_kustomize_values_ssh_authorizedkeys is defined', \"cifmw_ci_gen_kustomize_values_ssh_authorizedkeys != ''\", 'cifmw_ci_gen_kustomize_values_ssh_private_key is defined', \"cifmw_ci_gen_kustomize_values_ssh_private_key != ''\", 'cifmw_ci_gen_kustomize_values_ssh_public_key is defined', \"cifmw_ci_gen_kustomize_values_ssh_public_key != ''\"]] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.085)       0:01:42.756 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.085)       0:01:42.755 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Get common data for dataplane templating _raw_params=edpm_core_facts.yml] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.062)       0:01:42.819 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.062)       0:01:42.818 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/edpm_core_facts.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Fetch the already deployed services for further usage _raw_params=oc get osdps --namespace openstack --no-headers -o custom-columns=\":metadata.name\"] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.069)       0:01:42.888 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.069)       0:01:42.887 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose the deployed services as a fact ci_gen_kustomize_edpm_nodeset_predeployed_services={{",
                                "  _ci_gen_kustomize_deployed_services_stdout.stdout_lines | default ([])",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.053)       0:01:42.942 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.053)       0:01:42.940 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Check if required variables for nova migration are provided. that=['cifmw_ci_gen_kustomize_values_migration_priv_key is defined', \"cifmw_ci_gen_kustomize_values_migration_priv_key != ''\", 'cifmw_ci_gen_kustomize_values_migration_pub_key is defined', \"cifmw_ci_gen_kustomize_values_migration_pub_key != ''\"]] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.058)       0:01:43.000 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.058)       0:01:42.998 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.047)       0:01:43.048 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.047)       0:01:43.046 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.255)       0:01:43.303 *********** ",
                                "Friday 12 June 2026  20:23:39 +0000 (0:00:00.255)       0:01:43.302 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:40 +0000 (0:00:00.535)       0:01:43.839 *********** ",
                                "Friday 12 June 2026  20:23:40 +0000 (0:00:00.535)       0:01:43.837 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:40 +0000 (0:00:00.095)       0:01:43.934 *********** ",
                                "Friday 12 June 2026  20:23:40 +0000 (0:00:00.095)       0:01:43.933 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:40 +0000 (0:00:00.452)       0:01:44.387 *********** ",
                                "Friday 12 June 2026  20:23:40 +0000 (0:00:00.452)       0:01:44.386 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.484)       0:01:44.871 *********** ",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.484)       0:01:44.870 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.424)       0:01:45.295 *********** ",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.424)       0:01:45.294 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.114)       0:01:45.410 *********** ",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.114)       0:01:45.408 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.081)       0:01:45.491 *********** ",
                                "Friday 12 June 2026  20:23:41 +0000 (0:00:00.081)       0:01:45.490 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:42 +0000 (0:00:00.242)       0:01:45.734 *********** ",
                                "Friday 12 June 2026  20:23:42 +0000 (0:00:00.242)       0:01:45.732 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:42 +0000 (0:00:00.065)       0:01:45.799 *********** ",
                                "Friday 12 June 2026  20:23:42 +0000 (0:00:00.065)       0:01:45.797 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:42 +0000 (0:00:00.656)       0:01:46.456 *********** ",
                                "Friday 12 June 2026  20:23:42 +0000 (0:00:00.656)       0:01:46.454 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:43 +0000 (0:00:00.182)       0:01:46.638 *********** ",
                                "Friday 12 June 2026  20:23:43 +0000 (0:00:00.182)       0:01:46.637 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:43 +0000 (0:00:00.269)       0:01:46.907 *********** ",
                                "Friday 12 June 2026  20:23:43 +0000 (0:00:00.269)       0:01:46.906 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/edpm/nodeset mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:23:43 +0000 (0:00:00.471)       0:01:47.379 *********** ",
                                "Friday 12 June 2026  20:23:43 +0000 (0:00:00.471)       0:01:47.377 *********** ",
                                "changed: [localhost] => (item=edpm-nodeset-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:44 +0000 (0:00:00.307)       0:01:47.686 *********** ",
                                "Friday 12 June 2026  20:23:44 +0000 (0:00:00.307)       0:01:47.684 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/edpm/nodeset chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:23:44 +0000 (0:00:00.051)       0:01:47.737 *********** ",
                                "Friday 12 June 2026  20:23:44 +0000 (0:00:00.051)       0:01:47.736 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:44 +0000 (0:00:00.522)       0:01:48.259 *********** ",
                                "Friday 12 June 2026  20:23:44 +0000 (0:00:00.522)       0:01:48.258 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/edpm/nodeset executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.510)       0:01:48.770 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.510)       0:01:48.768 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.085)       0:01:48.855 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.085)       0:01:48.854 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/edpm/nodeset remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.086)       0:01:48.941 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.086)       0:01:48.940 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.328)       0:01:49.270 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.328)       0:01:49.268 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/edpm/nodeset _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.065)       0:01:49.335 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.065)       0:01:49.334 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/edpm/nodeset _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.078)       0:01:49.413 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.078)       0:01:49.412 *********** ",
                                "skipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.076)       0:01:49.490 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.076)       0:01:49.489 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/edpm/nodeset name=run_hook] ***",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.073)       0:01:49.563 *********** ",
                                "Friday 12 June 2026  20:23:45 +0000 (0:00:00.073)       0:01:49.562 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.092)       0:01:49.656 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.092)       0:01:49.654 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.067)       0:01:49.723 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.067)       0:01:49.722 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.041)       0:01:49.765 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.041)       0:01:49.763 *********** ",
                                "ok: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m)",
                                "ok: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.051)       0:01:49.816 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.051)       0:01:49.815 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.038)       0:01:49.855 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.038)       0:01:49.853 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:49.904 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:49.903 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.059)       0:01:49.964 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.059)       0:01:49.963 *********** ",
                                "ok: [localhost] => (item={'name': 'edpm-nodeset2-values', 'src_file': '../../../multi-namespace/edpm2/nodeset/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.294)       0:01:50.259 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.294)       0:01:50.258 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace-skmo/edpm2/nodeset name=run_hook] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.079)       0:01:50.338 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.079)       0:01:50.337 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace-skmo/edpm2/nodeset name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:50.388 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.049)       0:01:50.387 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.112)       0:01:50.501 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.112)       0:01:50.500 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.061)       0:01:50.563 *********** ",
                                "Friday 12 June 2026  20:23:46 +0000 (0:00:00.061)       0:01:50.562 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.072)       0:01:50.635 *********** ",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.072)       0:01:50.634 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.073)       0:01:50.709 *********** ",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.073)       0:01:50.708 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.230)       0:01:50.939 *********** ",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.230)       0:01:50.938 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.092)       0:01:51.032 *********** ",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.092)       0:01:51.031 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.245)       0:01:51.277 *********** ",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.245)       0:01:51.276 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.299)       0:01:51.577 *********** ",
                                "Friday 12 June 2026  20:23:47 +0000 (0:00:00.299)       0:01:51.576 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.076)       0:01:51.654 *********** ",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.076)       0:01:51.653 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.248)       0:01:51.903 *********** ",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.248)       0:01:51.902 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.578)       0:01:52.482 *********** ",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.579)       0:01:52.481 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.070)       0:01:52.553 *********** ",
                                "Friday 12 June 2026  20:23:48 +0000 (0:00:00.070)       0:01:52.552 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:49 +0000 (0:00:00.446)       0:01:52.999 *********** ",
                                "Friday 12 June 2026  20:23:49 +0000 (0:00:00.446)       0:01:52.998 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:49 +0000 (0:00:00.476)       0:01:53.475 *********** ",
                                "Friday 12 June 2026  20:23:49 +0000 (0:00:00.476)       0:01:53.474 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.442)       0:01:53.918 *********** ",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.442)       0:01:53.917 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.113)       0:01:54.031 *********** ",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.113)       0:01:54.030 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.074)       0:01:54.106 *********** ",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.074)       0:01:54.104 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.242)       0:01:54.348 *********** ",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.242)       0:01:54.347 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.072)       0:01:54.421 *********** ",
                                "Friday 12 June 2026  20:23:50 +0000 (0:00:00.073)       0:01:54.420 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:51 +0000 (0:00:00.738)       0:01:55.160 *********** ",
                                "Friday 12 June 2026  20:23:51 +0000 (0:00:00.738)       0:01:55.159 *********** ",
                                "ok: [localhost] => (item=02_ci_data.yaml)",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:51 +0000 (0:00:00.161)       0:01:55.322 *********** ",
                                "Friday 12 June 2026  20:23:51 +0000 (0:00:00.161)       0:01:55.321 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:51 +0000 (0:00:00.247)       0:01:55.569 *********** ",
                                "Friday 12 June 2026  20:23:51 +0000 (0:00:00.247)       0:01:55.568 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/edpm2/nodeset mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:23:52 +0000 (0:00:00.445)       0:01:56.015 *********** ",
                                "Friday 12 June 2026  20:23:52 +0000 (0:00:00.445)       0:01:56.014 *********** ",
                                "changed: [localhost] => (item=edpm-nodeset2-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:52 +0000 (0:00:00.309)       0:01:56.325 *********** ",
                                "Friday 12 June 2026  20:23:52 +0000 (0:00:00.309)       0:01:56.323 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/edpm2/nodeset chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:23:52 +0000 (0:00:00.069)       0:01:56.394 *********** ",
                                "Friday 12 June 2026  20:23:52 +0000 (0:00:00.069)       0:01:56.392 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.572)       0:01:56.967 *********** ",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.572)       0:01:56.965 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace-skmo/edpm2/nodeset executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.450)       0:01:57.417 *********** ",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.450)       0:01:57.416 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.080)       0:01:57.498 *********** ",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.080)       0:01:57.496 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace-skmo/edpm2/nodeset remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.077)       0:01:57.575 *********** ",
                                "Friday 12 June 2026  20:23:53 +0000 (0:00:00.077)       0:01:57.573 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.299)       0:01:57.875 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.299)       0:01:57.873 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace-skmo/edpm2/nodeset _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.065)       0:01:57.940 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.065)       0:01:57.939 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace-skmo/edpm2/nodeset _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.060)       0:01:58.000 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.060)       0:01:57.999 *********** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m) ",
                                "skipping: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=SetupReady --timeout=10m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.080)       0:01:58.081 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.080)       0:01:58.080 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace-skmo/edpm2/nodeset name=run_hook] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.059)       0:01:58.141 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.060)       0:01:58.140 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.083)       0:01:58.224 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.083)       0:01:58.223 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.072)       0:01:58.297 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.072)       0:01:58.296 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.035)       0:01:58.332 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.035)       0:01:58.331 *********** ",
                                "ok: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.039)       0:01:58.371 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.039)       0:01:58.370 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.029)       0:01:58.401 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.029)       0:01:58.400 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.037)       0:01:58.439 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.037)       0:01:58.437 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.051)       0:01:58.491 *********** ",
                                "Friday 12 June 2026  20:23:54 +0000 (0:00:00.051)       0:01:58.489 *********** ",
                                "ok: [localhost] => (item={'name': 'edpm-deployment-values', 'src_file': 'values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.205)       0:01:58.696 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.205)       0:01:58.694 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace/edpm name=run_hook] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:58.777 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:58.776 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace/edpm name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.055)       0:01:58.833 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.055)       0:01:58.831 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.091)       0:01:58.924 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.091)       0:01:58.923 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.052)       0:01:58.977 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.052)       0:01:58.975 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.072)       0:01:59.049 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.072)       0:01:59.048 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.059)       0:01:59.109 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.059)       0:01:59.107 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.221)       0:01:59.331 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.221)       0:01:59.329 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:59.412 *********** ",
                                "Friday 12 June 2026  20:23:55 +0000 (0:00:00.081)       0:01:59.411 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.294)       0:01:59.706 *********** ",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.294)       0:01:59.705 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.217)       0:01:59.924 *********** ",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.217)       0:01:59.923 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.041)       0:01:59.966 *********** ",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.041)       0:01:59.965 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.249)       0:02:00.215 *********** ",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.249)       0:02:00.214 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.097)       0:02:00.313 *********** ",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.097)       0:02:00.311 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.092)       0:02:00.405 *********** ",
                                "Friday 12 June 2026  20:23:56 +0000 (0:00:00.092)       0:02:00.404 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:57 +0000 (0:00:00.492)       0:02:00.897 *********** ",
                                "Friday 12 June 2026  20:23:57 +0000 (0:00:00.492)       0:02:00.896 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:57 +0000 (0:00:00.477)       0:02:01.374 *********** ",
                                "Friday 12 June 2026  20:23:57 +0000 (0:00:00.477)       0:02:01.373 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.447)       0:02:01.822 *********** ",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.447)       0:02:01.821 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.085)       0:02:01.907 *********** ",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.085)       0:02:01.906 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.071)       0:02:01.979 *********** ",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.071)       0:02:01.977 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.241)       0:02:02.220 *********** ",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.241)       0:02:02.219 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.063)       0:02:02.284 *********** ",
                                "Friday 12 June 2026  20:23:58 +0000 (0:00:00.063)       0:02:02.283 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:23:59 +0000 (0:00:00.465)       0:02:02.750 *********** ",
                                "Friday 12 June 2026  20:23:59 +0000 (0:00:00.465)       0:02:02.749 *********** ",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:23:59 +0000 (0:00:00.141)       0:02:02.891 *********** ",
                                "Friday 12 June 2026  20:23:59 +0000 (0:00:00.141)       0:02:02.890 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:23:59 +0000 (0:00:00.254)       0:02:03.146 *********** ",
                                "Friday 12 June 2026  20:23:59 +0000 (0:00:00.254)       0:02:03.145 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace/edpm mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.484)       0:02:03.630 *********** ",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.483)       0:02:03.629 *********** ",
                                "changed: [localhost] => (item=edpm-deployment-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.326)       0:02:03.956 *********** ",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.326)       0:02:03.955 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace/edpm chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.081)       0:02:04.037 *********** ",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.081)       0:02:04.036 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.416)       0:02:04.454 *********** ",
                                "Friday 12 June 2026  20:24:00 +0000 (0:00:00.416)       0:02:04.452 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace/edpm executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.533)       0:02:04.987 *********** ",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.533)       0:02:04.986 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.089)       0:02:05.077 *********** ",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.089)       0:02:05.075 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace/edpm remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.083)       0:02:05.160 *********** ",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.083)       0:02:05.159 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.291)       0:02:05.452 *********** ",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.291)       0:02:05.451 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace/edpm _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.082)       0:02:05.534 *********** ",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.082)       0:02:05.533 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace/edpm _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.073)       0:02:05.608 *********** ",
                                "Friday 12 June 2026  20:24:01 +0000 (0:00:00.073)       0:02:05.607 *********** ",
                                "skipping: [localhost] => (item=oc -n default wait ns openstack2 --for jsonpath='{.status.phase}'=Active --timeout=5m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.081)       0:02:05.689 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.081)       0:02:05.688 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace/edpm name=run_hook] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.065)       0:02:05.755 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.065)       0:02:05.754 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Assert mandatory bits are defined that=['stage is defined', 'stage_id is defined', \"stage['path'] is defined\", \"stage['wait_conditions'] is defined\", \"stage['wait_conditions'] | length > 0\", \"stage['values'] is defined\", \"stage['values'] | length > 0\", \"stage['build_output'] is defined\", \"stage['build_output'] | length > 0\"]] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.080)       0:02:05.835 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.080)       0:02:05.834 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [kustomize_deploy : Check custom wait conditions that=item is match(_pattern), msg=The following custom condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.052)       0:02:05.888 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.052)       0:02:05.887 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.031)       0:02:05.920 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.031)       0:02:05.919 *********** ",
                                "ok: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=Ready --timeout=60m)",
                                "ok: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=Ready --timeout=60m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.056)       0:02:05.977 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.056)       0:02:05.975 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.041)       0:02:06.018 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.041)       0:02:06.017 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Generate OSDPD run suffix (once per play) _cifmw_kustomize_deploy_run_suffix={{",
                                "  cifmw_kustomize_deploy_osdpd_suffix | string",
                                "  if (cifmw_kustomize_deploy_osdpd_suffix | default('') | string | length > 0)",
                                "  else (lookup('pipe', 'date +%Y%m%d%H%M%S') | string)",
                                "}}] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.047)       0:02:06.066 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.047)       0:02:06.065 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure source files exists path={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "   stage['path'], item.src_file) | path_join",
                                "}}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.076)       0:02:06.142 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.076)       0:02:06.141 *********** ",
                                "ok: [localhost] => (item={'name': 'edpm-deployment2-values', 'src_file': 'values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.298)       0:02:06.441 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.298)       0:02:06.440 *********** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/va/multi-namespace/edpm2 name=run_hook] ***",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.097)       0:02:06.538 *********** ",
                                "Friday 12 June 2026  20:24:02 +0000 (0:00:00.097)       0:02:06.537 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/va/multi-namespace/edpm2 name=ci_gen_kustomize_values] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.081)       0:02:06.620 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.081)       0:02:06.619 *********** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.117)       0:02:06.737 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.117)       0:02:06.736 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.053)       0:02:06.791 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.053)       0:02:06.790 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_snippets.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure needed parameter is properly set that=['cifmw_architecture_scenario is defined', 'cifmw_architecture_scenario is not none'], msg=cifmw_architecture_scenario must be provided.] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.122)       0:02:06.914 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.122)       0:02:06.913 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Stat original source file path={{ cifmw_ci_gen_kustomize_values_src_file }}, get_attributes=False, get_checksum=False, get_mime=False] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.057)       0:02:06.972 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.057)       0:02:06.970 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Assert source file exists that=['_src_stat.stat.exists'], msg={{ cifmw_ci_gen_kustomize_values_src_file }} doesn't exist.] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.227)       0:02:07.199 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.227)       0:02:07.198 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Load original values file src={{ cifmw_ci_gen_kustomize_values_src_file }}] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.049)       0:02:07.248 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.049)       0:02:07.247 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Expose common data for future usage values_datatype={{ _datatype }}, snippet_datadir={{ _dest_dir }}, original_content={{ _config_map_content }}, _cifmw_gen_kustomize_values_extra_manifests={{",
                                "  _raw_manifests | reject('equalto', _config_map_content)",
                                "}}, _cifmw_gen_kustomize_values_base_cm_content={{",
                                "  _config_map_content |",
                                "  ansible.utils.remove_keys(",
                                "    target=_cifmw_gen_kustomize_values_reject_expressions,",
                                "    matching_parameter='regex')",
                                "}}, cacheable=False] ***",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.224)       0:02:07.473 *********** ",
                                "Friday 12 June 2026  20:24:03 +0000 (0:00:00.224)       0:02:07.472 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.225)       0:02:07.699 *********** ",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.225)       0:02:07.698 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.080)       0:02:07.780 *********** ",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.080)       0:02:07.779 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate CI snippet backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '02_ci_data.yaml') | path_join",
                                "}}, src={{ _tmpl_check_path | first }}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.266)       0:02:08.046 *********** ",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.266)       0:02:08.045 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate the base64 CI ConfigMap patches _base64_patch={{ _patches_tuple[0] }}, _cifmw_gen_kustomize_values_extra_manifests={{ _patches_tuple[1] }}] ***",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.086)       0:02:08.133 *********** ",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.086)       0:02:08.132 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push base64 CI patches backup=True, dest={{",
                                "  (snippet_datadir,",
                                "  '03_user_data_b64.yaml') | path_join",
                                "}}, content={{",
                                "  _base64_patch |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.108)       0:02:08.242 *********** ",
                                "Friday 12 June 2026  20:24:04 +0000 (0:00:00.108)       0:02:08.240 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Push user provided dataset backup=True, dest={{",
                                "  (snippet_datadir,",
                                "   '04_user_data.yaml') | path_join",
                                "}}, content={{",
                                "  cifmw_ci_gen_kustomize_values_userdata |",
                                "  default({}) |",
                                "  to_nice_yaml",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:05 +0000 (0:00:00.485)       0:02:08.727 *********** ",
                                "Friday 12 June 2026  20:24:05 +0000 (0:00:00.485)       0:02:08.726 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Copy the base values.yaml backup=True, content={{ _cifmw_gen_kustomize_values_base_cm_content |to_nice_yaml }}, dest={{",
                                "  (",
                                "    snippet_datadir,",
                                "    cifmw_ci_gen_kustomize_values_original_cm_content_file_name",
                                "  ) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:05 +0000 (0:00:00.498)       0:02:09.226 *********** ",
                                "Friday 12 June 2026  20:24:05 +0000 (0:00:00.498)       0:02:09.225 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.472)       0:02:09.698 *********** ",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.472)       0:02:09.697 *********** ",
                                "included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/tasks/generate_values.yml for localhost",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we have needed parameter that=['values_datatype is defined', \"values_datatype != ''\"], msg=Please do not call this tasks file without calling the generate_snippet.yml first!] ***",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.099)       0:02:09.798 *********** ",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.099)       0:02:09.797 *********** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : List snippets paths={{ _dir_path }}, patterns=*.yml,*.yaml, excludes={{ cifmw_ci_gen_kustomize_values_original_cm_content_file_name }}, recurse=False] ***",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.086)       0:02:09.884 *********** ",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.086)       0:02:09.883 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.259)       0:02:10.144 *********** ",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.259)       0:02:10.143 *********** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.080)       0:02:10.225 *********** ",
                                "Friday 12 June 2026  20:24:06 +0000 (0:00:00.080)       0:02:10.223 *********** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Combine snippets _content={{",
                                "  _content |",
                                "  default(_cifmw_gen_kustomize_values_base_cm_content, true) |",
                                "  combine(_parsed, recursive=true)",
                                "}}",
                                "] ***",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.484)       0:02:10.709 *********** ",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.484)       0:02:10.708 *********** ",
                                "ok: [localhost] => (item=03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=04_user_data.yaml)",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure directories exist path={{ _destdir }}, state=directory, mode=0755] ***",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.096)       0:02:10.806 *********** ",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.096)       0:02:10.804 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Output values file backup=True, dest={{",
                                "  (_destdir,",
                                "  cifmw_ci_gen_kustomize_values_dest_filename) | path_join",
                                "}}, content={{",
                                "  (",
                                "    [ _content ] + _cifmw_gen_kustomize_values_extra_manifests",
                                "  ) | cifmw.general.to_nice_yaml_all",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.244)       0:02:11.050 *********** ",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.244)       0:02:11.049 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/va/multi-namespace/edpm2 mode=0644, backup=True, remote_src=True, src={{",
                                "  (cifmw_kustomize_deploy_basedir,",
                                "   'artifacts', 'ci_gen_kustomize_values',",
                                "   _val['name'], 'values.yaml') | path_join",
                                "}}, dest={{",
                                "  (cifmw_kustomize_deploy_architecture_repo_dest_dir,",
                                "  stage['path'], _val.src_file",
                                "  ) |",
                                "  path_join",
                                " }}] ***",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.544)       0:02:11.595 *********** ",
                                "Friday 12 June 2026  20:24:07 +0000 (0:00:00.545)       0:02:11.594 *********** ",
                                "changed: [localhost] => (item=edpm-deployment2-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:24:08 +0000 (0:00:00.370)       0:02:11.966 *********** ",
                                "Friday 12 June 2026  20:24:08 +0000 (0:00:00.370)       0:02:11.965 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/va/multi-namespace/edpm2 chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Friday 12 June 2026  20:24:08 +0000 (0:00:00.078)       0:02:12.045 *********** ",
                                "Friday 12 June 2026  20:24:08 +0000 (0:00:00.079)       0:02:12.044 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:08 +0000 (0:00:00.368)       0:02:12.414 *********** ",
                                "Friday 12 June 2026  20:24:08 +0000 (0:00:00.368)       0:02:12.412 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/va/multi-namespace/edpm2 executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.503)       0:02:12.917 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.503)       0:02:12.916 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Update wait conditions with uniquified OSDPD names _wait_conditions={{",
                                "  _wait_conditions | map('regex_replace',",
                                "    '(?i)((?:openstackdataplanedeployment|osdpd)\\s+)(' + item.split(' -> ')[0] | trim + ')(\\s|$)',",
                                "    '\\1' + item.split(' -> ')[1] | trim + '\\3'",
                                "  ) | list",
                                "}}] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.084)       0:02:13.002 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.084)       0:02:13.001 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/va/multi-namespace/edpm2 remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.087)       0:02:13.089 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.087)       0:02:13.088 *********** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.295)       0:02:13.384 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.295)       0:02:13.383 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/va/multi-namespace/edpm2 _raw_params=oc apply -f {{ _cr }}] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.052)       0:02:13.437 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.052)       0:02:13.435 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/va/multi-namespace/edpm2 _raw_params=wait_condition.yml] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.060)       0:02:13.497 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.060)       0:02:13.496 *********** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osdpns openstack-edpm --for condition=Ready --timeout=60m) ",
                                "skipping: [localhost] => (item=oc -n openstack2 wait osdpns openstack-edpm --for condition=Ready --timeout=60m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.090)       0:02:13.587 *********** ",
                                "Friday 12 June 2026  20:24:09 +0000 (0:00:00.089)       0:02:13.586 *********** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/va/multi-namespace/edpm2 name=run_hook] ***",
                                "Friday 12 June 2026  20:24:10 +0000 (0:00:00.059)       0:02:13.646 *********** ",
                                "Friday 12 June 2026  20:24:10 +0000 (0:00:00.059)       0:02:13.645 *********** ",
                                "skipping: [localhost]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "localhost                  : ok=396  changed=105  unreachable=0    failed=0    skipped=171  rescued=0    ignored=0   ",
                                "",
                                "Friday 12 June 2026  20:24:10 +0000 (0:00:00.130)       0:02:13.777 *********** ",
                                "=============================================================================== ",
                                "Get automation contents ------------------------------------------------- 8.23s",
                                "ci_setup : Install needed packages -------------------------------------- 5.04s",
                                "ci_setup : Install openshift client ------------------------------------- 4.07s",
                                "Load automation files as fact ------------------------------------------- 2.05s",
                                "ci_setup : Manage directories ------------------------------------------- 1.06s",
                                "Gathering Facts --------------------------------------------------------- 1.00s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.74s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.68s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.66s",
                                "kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane/networking/nncp --- 0.66s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.66s",
                                "ci_gen_kustomize_values : Generate CI snippet --------------------------- 0.66s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.66s",
                                "kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane --- 0.65s",
                                "Create needed SSH keypairs ---------------------------------------------- 0.65s",
                                "kustomize_deploy : Build kustomized content for examples/va/multi-namespace-skmo/control-plane2/networking --- 0.64s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.63s",
                                "kustomize_deploy : Copy generated values for examples/va/multi-namespace-skmo/control-plane2 --- 0.63s",
                                "ci_gen_kustomize_values : Generate CI snippet --------------------------- 0.63s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.62s",
                                "Friday 12 June 2026  20:24:10 +0000 (0:00:00.132)       0:02:13.777 *********** ",
                                "=============================================================================== ",
                                "ci_gen_kustomize_values ------------------------------------------------ 69.97s",
                                "kustomize_deploy ------------------------------------------------------- 36.95s",
                                "ci_setup --------------------------------------------------------------- 11.84s",
                                "ansible.builtin.slurp --------------------------------------------------- 9.07s",
                                "ansible.builtin.set_fact ------------------------------------------------ 2.18s",
                                "gather_facts ------------------------------------------------------------ 1.00s",
                                "networking_mapper ------------------------------------------------------- 0.69s",
                                "community.crypto.openssh_keypair ---------------------------------------- 0.65s",
                                "ansible.builtin.file ---------------------------------------------------- 0.39s",
                                "ansible.builtin.include_role -------------------------------------------- 0.35s",
                                "ansible.builtin.find ---------------------------------------------------- 0.32s",
                                "ansible.builtin.stat ---------------------------------------------------- 0.21s",
                                "ansible.builtin.assert -------------------------------------------------- 0.06s",
                                "ansible.builtin.copy ---------------------------------------------------- 0.04s",
                                "ansible.builtin.include_vars -------------------------------------------- 0.03s",
                                "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ",
                                "total ----------------------------------------------------------------- 133.74s"
                            ],
                            "zuul_log_id": "0a580a2a-0021-37e9-f0d2-000000000005-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:10.667254Z",
                            "start": "2026-06-12T20:21:55.440197Z"
                        },
                        "id": "0a580a2a-0021-37e9-f0d2-000000000005",
                        "name": "Run playbook"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:24:12.104341Z",
                    "start": "2026-06-12T20:24:11.623005Z"
                },
                "id": "0a580a2a-0021-927a-347b-000000000002",
                "name": "Ensure ci-framework-data base directories exist on all nodes"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/ci-framework-data/logs"
                                },
                                "before": {
                                    "path": "/home/zuul/ci-framework-data/logs"
                                }
                            },
                            "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": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/ci-framework-data/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/ci-framework-data/logs",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:12.104341Z",
                            "start": "2026-06-12T20:24:11.633811Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000004",
                        "name": "Create ci-framework-data/logs directory if missing"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:24:23.178561Z",
                    "start": "2026-06-12T20:24:12.147607Z"
                },
                "id": "0a580a2a-0021-927a-347b-000000000005",
                "name": "Run ci/playbooks/collect-logs.yml"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.meta",
                            "msg": "end_host conditional evaluated to false, continuing execution for controller",
                            "skip_reason": "end_host conditional evaluated to False, continuing execution for controller",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:12.166345Z",
                            "start": "2026-06-12T20:24:12.154540Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000007",
                        "name": "Filter out host if needed"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/tmp/report.html"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:12.630941Z",
                            "start": "2026-06-12T20:24:12.170498Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000009",
                        "name": "Ensure file is present"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": false,
                            "false_condition": "molecule_report.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:13.182332Z",
                            "start": "2026-06-12T20:24:12.670566Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000000a",
                        "name": "Manage molecule report file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/home/zuul/ci-framework-data"
                                }
                            },
                            "stat": {
                                "atime": 1781295710.743396,
                                "attr_flags": "",
                                "attributes": [],
                                "block_size": 4096,
                                "blocks": 0,
                                "charset": "binary",
                                "ctime": 1781295729.0978413,
                                "dev": 64513,
                                "device_type": 0,
                                "executable": true,
                                "exists": true,
                                "gid": 1000,
                                "gr_name": "zuul",
                                "inode": 4468550,
                                "isblk": false,
                                "ischr": false,
                                "isdir": true,
                                "isfifo": false,
                                "isgid": false,
                                "islnk": false,
                                "isreg": false,
                                "issock": false,
                                "isuid": false,
                                "mimetype": "inode/directory",
                                "mode": "0755",
                                "mtime": 1781295729.0978413,
                                "nlink": 6,
                                "path": "/home/zuul/ci-framework-data",
                                "pw_name": "zuul",
                                "readable": true,
                                "rgrp": true,
                                "roth": true,
                                "rusr": true,
                                "size": 61,
                                "uid": 1000,
                                "version": "3180468489",
                                "wgrp": false,
                                "woth": false,
                                "writeable": true,
                                "wusr": true,
                                "xgrp": true,
                                "xoth": true,
                                "xusr": true
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:13.423158Z",
                            "start": "2026-06-12T20:24:13.191458Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000000b",
                        "name": "Check if we get ci-framework-data basedir"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs/ci-framework-data",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs/ci-framework-data",
                                    "state": "absent"
                                }
                            },
                            "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": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/zuul-output/logs/ci-framework-data",
                                    "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/ci-framework-data",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:13.682527Z",
                            "start": "2026-06-12T20:24:13.431161Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000000d",
                        "name": "Create ci-framework-data log directory for zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "cp -ra /home/zuul/ci-framework-data/logs . ;\ncp -ra /home/zuul/ci-framework-data/artifacts . ;\ncp -ra /home/zuul/ci-framework-data/tests . || true ;\n",
                            "delta": "0:00:00.039676",
                            "end": "2026-06-12 20:24:14.186282",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "cp -ra /home/zuul/ci-framework-data/logs . ;\ncp -ra /home/zuul/ci-framework-data/artifacts . ;\ncp -ra /home/zuul/ci-framework-data/tests . || true ;\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "/home/zuul/zuul-output/logs/ci-framework-data",
                                    "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": "0a580a2a-0021-927a-347b-00000000000e-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:24:14.146606",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "cp: cannot stat '/home/zuul/ci-framework-data/tests': No such file or directory",
                            "stdout_lines": [
                                "cp: cannot stat '/home/zuul/ci-framework-data/tests': No such file or directory"
                            ],
                            "zuul_log_id": "0a580a2a-0021-927a-347b-00000000000e-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:14.231540Z",
                            "start": "2026-06-12T20:24:13.718127Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000000e",
                        "name": "Copy ci-framework interesting files"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "ls -lRZ --hide=venv --hide=repo-setup /home/zuul/ci-framework-data > ./selinux-listing.log;\n",
                            "delta": "0:00:00.012016",
                            "end": "2026-06-12 20:24:14.522083",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ls -lRZ --hide=venv --hide=repo-setup /home/zuul/ci-framework-data > ./selinux-listing.log;\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "/home/zuul/zuul-output/logs/",
                                    "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": "0a580a2a-0021-927a-347b-00000000000f-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:24:14.510067",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0021-927a-347b-00000000000f-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:14.784954Z",
                            "start": "2026-06-12T20:24:14.269759Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000000f",
                        "name": "Get SELinux listing"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "88ae10a5acfbb988c7a4ebd7e6b4ce673fb5cdeb",
                            "dest": "/home/zuul/zuul-output/logs/README.html",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "important-logs.html",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "88ae10a5acfbb988c7a4ebd7e6b4ce673fb5cdeb",
                                    "content": null,
                                    "dest": "/home/zuul/zuul-output/logs/README.html",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295854.8923347-22-190067818338689/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "7f00c4ae41f3ba398cadcbbb8c625684",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 1590,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781295854.8923347-22-190067818338689/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:15.778408Z",
                            "start": "2026-06-12T20:24:14.790789Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000010",
                        "name": "Generate log index"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "rpm -qa | sort > ./installed-pkgs.log;\npython --version > ./python.log;\npip3 --version >> ./python.log;\ncommand -v ansible && ansible --version >> ./python.log;\npip3 freeze >> ./python.log;\ndmesg -T > ./dmesg.log;\n",
                            "delta": "0:00:01.043151",
                            "end": "2026-06-12 20:24:17.068620",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "rpm -qa | sort > ./installed-pkgs.log;\npython --version > ./python.log;\npip3 --version >> ./python.log;\ncommand -v ansible && ansible --version >> ./python.log;\npip3 freeze >> ./python.log;\ndmesg -T > ./dmesg.log;\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "/home/zuul/zuul-output/logs/",
                                    "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": "0a580a2a-0021-927a-347b-000000000011-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:24:16.025469",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/home/zuul/.local/bin/ansible",
                            "stdout_lines": [
                                "/home/zuul/.local/bin/ansible"
                            ],
                            "zuul_log_id": "0a580a2a-0021-927a-347b-000000000011-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:17.329787Z",
                            "start": "2026-06-12T20:24:15.811424Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000011",
                        "name": "Get some env related data"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.find",
                            "changed": false,
                            "examined": 17,
                            "files": [
                                {
                                    "atime": 1781295682.0317218,
                                    "ctime": 1781295850.165909,
                                    "dev": 64513,
                                    "gid": 1000,
                                    "gr_name": "zuul",
                                    "inode": 309250,
                                    "isblk": false,
                                    "ischr": false,
                                    "isdir": false,
                                    "isfifo": false,
                                    "isgid": false,
                                    "islnk": false,
                                    "isreg": true,
                                    "issock": false,
                                    "isuid": false,
                                    "mode": "0644",
                                    "mtime": 1781295850.165909,
                                    "nlink": 1,
                                    "path": "/home/zuul/ansible.log",
                                    "pw_name": "zuul",
                                    "rgrp": true,
                                    "roth": true,
                                    "rusr": true,
                                    "size": 372937,
                                    "uid": 1000,
                                    "wgrp": false,
                                    "woth": false,
                                    "wusr": true,
                                    "xgrp": false,
                                    "xoth": false,
                                    "xusr": false
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "age": null,
                                    "age_stamp": "mtime",
                                    "contains": null,
                                    "depth": null,
                                    "exact_mode": true,
                                    "excludes": null,
                                    "file_type": "file",
                                    "follow": false,
                                    "get_checksum": false,
                                    "hidden": false,
                                    "mode": null,
                                    "paths": [
                                        "/home/zuul"
                                    ],
                                    "patterns": [
                                        "*.log"
                                    ],
                                    "read_whole_file": false,
                                    "recurse": false,
                                    "size": null,
                                    "use_regex": false
                                }
                            },
                            "matched": 1,
                            "msg": "All paths examined",
                            "skipped_paths": {}
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:17.700771Z",
                            "start": "2026-06-12T20:24:17.340203Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000012",
                        "name": "Generate list of logs to collect in home directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "checksum": "28482d39c48952da1aace3ce6f79e6ad19d18714",
                                    "dest": "/home/zuul/zuul-output/logs/ansible.log",
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": null,
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": null,
                                            "content": null,
                                            "dest": "/home/zuul/zuul-output/logs/",
                                            "directory_mode": null,
                                            "follow": false,
                                            "force": true,
                                            "group": null,
                                            "local_follow": null,
                                            "mode": null,
                                            "owner": null,
                                            "remote_src": true,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": "/home/zuul/ansible.log",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": {
                                        "atime": 1781295682.0317218,
                                        "ctime": 1781295850.165909,
                                        "dev": 64513,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 309250,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mode": "0644",
                                        "mtime": 1781295850.165909,
                                        "nlink": 1,
                                        "path": "/home/zuul/ansible.log",
                                        "pw_name": "zuul",
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 372937,
                                        "uid": 1000,
                                        "wgrp": false,
                                        "woth": false,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    },
                                    "md5sum": "b935fac40d9af8fa48a5fb6b37f8a2a8",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "secontext": "unconfined_u:object_r:user_home_t:s0",
                                    "size": 372937,
                                    "src": "/home/zuul/ansible.log",
                                    "state": "file",
                                    "uid": 1000
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:18.176628Z",
                            "start": "2026-06-12T20:24:17.757625Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000013",
                        "name": "Copy logs from home directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": false,
                            "false_condition": "cifmw_openshift_crio_stats | default(false)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:18.224723Z",
                            "start": "2026-06-12T20:24:18.185010Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000014",
                        "name": "Copy crio stats log file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "ausearch -i | grep denied > ./selinux-denials.log\n",
                            "delta": "0:00:00.012417",
                            "end": "2026-06-12 20:24:18.537015",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ausearch -i | grep denied > ./selinux-denials.log\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "/home/zuul/zuul-output/logs/",
                                    "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": "0a580a2a-0021-927a-347b-000000000015-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-06-12 20:24:18.524598",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "<no matches>",
                            "stdout_lines": [
                                "<no matches>"
                            ],
                            "zuul_log_id": "0a580a2a-0021-927a-347b-000000000015-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:18.782284Z",
                            "start": "2026-06-12T20:24:18.264165Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000015",
                        "name": "Get SELinux related data"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs/system-config/libvirt",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs/system-config/libvirt",
                                    "state": "absent"
                                }
                            },
                            "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": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/zuul-output/logs/system-config/libvirt",
                                    "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/system-config/libvirt",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:19.062000Z",
                            "start": "2026-06-12T20:24:18.790296Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000016",
                        "name": "Create system configuration directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "cp -r /etc/libvirt/*.conf libvirt/;\nchown -R \"zuul\" libvirt\nchown \"zuul\" *\ncp /etc/containers/registries.conf /home/zuul/zuul-output/logs/\ncp -r /etc/containers/registries.conf.d /home/zuul/zuul-output/logs/\nchown -R \"zuul\" /home/zuul/zuul-output/logs/registries.conf.d\n",
                            "delta": "0:00:00.016983",
                            "end": "2026-06-12 20:24:19.381075",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "cp -r /etc/libvirt/*.conf libvirt/;\nchown -R \"zuul\" libvirt\nchown \"zuul\" *\ncp /etc/containers/registries.conf /home/zuul/zuul-output/logs/\ncp -r /etc/containers/registries.conf.d /home/zuul/zuul-output/logs/\nchown -R \"zuul\" /home/zuul/zuul-output/logs/registries.conf.d\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "/home/zuul/zuul-output/logs/system-config",
                                    "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": "0a580a2a-0021-927a-347b-000000000017-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:24:19.364092",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0021-927a-347b-000000000017-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:19.618542Z",
                            "start": "2026-06-12T20:24:19.101034Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000017",
                        "name": "Get some of the system configurations"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": false,
                            "false_condition": "doc_available | default(false) | bool",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:19.663912Z",
                            "start": "2026-06-12T20:24:19.626412Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000018",
                        "name": "Copy generated documentation if available"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": false,
                            "false_condition": "asciidoc_available | default(false) | bool",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:19.713185Z",
                            "start": "2026-06-12T20:24:19.675307Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000019",
                        "name": "Copy generated AsciiDoc documentation if available"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "find \"/home/zuul/zuul-output/\" -type f ! -name \"*.gz\" ! -name \"*.xz\" -size +2M -exec gzip --best \"{}\" +\n",
                            "delta": "0:00:00.007274",
                            "end": "2026-06-12 20:24:20.018738",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "find \"/home/zuul/zuul-output/\" -type f ! -name \"*.gz\" ! -name \"*.xz\" -size +2M -exec gzip --best \"{}\" +\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": "0a580a2a-0021-927a-347b-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-12 20:24:20.011464",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0021-927a-347b-00000000001a-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:20.268285Z",
                            "start": "2026-06-12T20:24:19.754125Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000001a",
                        "name": "Compress logs bigger than 2MB"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.include_role",
                            "changed": false,
                            "include_args": {
                                "name": "fetch-output"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:20.291347Z",
                            "start": "2026-06-12T20:24:20.271629Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000001b",
                        "name": "Copy files from workspace on node"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-927a-347b-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:20.342305Z",
                            "start": "2026-06-12T20:24:20.309085Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000095",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-927a-347b-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:20.387814Z",
                            "start": "2026-06-12T20:24:20.347235Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000096",
                        "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": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs"
                                        },
                                        "before": {
                                            "mode": "02755",
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "1000",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs",
                                    "size": 96,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "02755",
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "1000",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "02755",
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "1000",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-927a-347b-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:21.331978Z",
                            "start": "2026-06-12T20:24:20.395075Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000097",
                        "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@38.102.83.181:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n>f+++++++++ README.html\n>f+++++++++ ansible.log\n>f+++++++++ dmesg.log\n>f+++++++++ installed-pkgs.log\n>f+++++++++ python.log\n>f+++++++++ registries.conf\n>f+++++++++ selinux-denials.log\n>f+++++++++ selinux-listing.log\ncd+++++++++ ci-framework-data/\ncd+++++++++ ci-framework-data/artifacts/\n>f+++++++++ ci-framework-data/artifacts/ecdsa_deploy\n>f+++++++++ ci-framework-data/artifacts/ecdsa_deploy.pub\n>f+++++++++ ci-framework-data/artifacts/ecdsa_nova_migration\n>f+++++++++ ci-framework-data/artifacts/ecdsa_nova_migration.pub\n>f+++++++++ ci-framework-data/artifacts/zuul_inventory.yml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment2-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment2-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset2-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset2-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/namespace-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/namespace-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values2/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values2/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/values.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/values.yaml.31858.2026-06-12@20:23:28~\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/02_ci_data.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/02_ci_data.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/01_original.yaml.30966.2026-06-12@20:22:54~\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/01_original.yaml.31814.2026-06-12@20:23:27~\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/kustomize_deploy/\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane2.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment2.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/namespace.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/network.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/network2.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nncp.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nncp2.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset2.yaml\ncd+++++++++ ci-framework-data/artifacts/manifests/\ncd+++++++++ ci-framework-data/artifacts/manifests/openstack/\ncd+++++++++ ci-framework-data/artifacts/manifests/openstack/cr/\ncd+++++++++ ci-framework-data/artifacts/parameters/\n>f+++++++++ ci-framework-data/artifacts/parameters/zuul-params.yml\ncd+++++++++ ci-framework-data/logs/\ncd+++++++++ registries.conf.d/\n>f+++++++++ registries.conf.d/000-shortnames.conf\ncd+++++++++ system-config/\ncd+++++++++ system-config/libvirt/\n>f+++++++++ system-config/libvirt/libvirt-admin.conf\n>f+++++++++ system-config/libvirt/libvirt.conf\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./",
                                        ">f+++++++++ README.html",
                                        ">f+++++++++ ansible.log",
                                        ">f+++++++++ dmesg.log",
                                        ">f+++++++++ installed-pkgs.log",
                                        ">f+++++++++ python.log",
                                        ">f+++++++++ registries.conf",
                                        ">f+++++++++ selinux-denials.log",
                                        ">f+++++++++ selinux-listing.log",
                                        "cd+++++++++ ci-framework-data/",
                                        "cd+++++++++ ci-framework-data/artifacts/",
                                        ">f+++++++++ ci-framework-data/artifacts/ecdsa_deploy",
                                        ">f+++++++++ ci-framework-data/artifacts/ecdsa_deploy.pub",
                                        ">f+++++++++ ci-framework-data/artifacts/ecdsa_nova_migration",
                                        ">f+++++++++ ci-framework-data/artifacts/ecdsa_nova_migration.pub",
                                        ">f+++++++++ ci-framework-data/artifacts/zuul_inventory.yml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment2-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment2-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset2-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset2-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/namespace-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/namespace-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values2/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values2/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/values.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/values.yaml.31858.2026-06-12@20:23:28~",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment2-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/02_ci_data.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/02_ci_data.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset2-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/namespace-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/01_original.yaml.30966.2026-06-12@20:22:54~",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/02_ci_data.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/02_ci_data.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/network-values2/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/01_original.yaml.31814.2026-06-12@20:23:27~",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/kustomize_deploy/",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane2.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment2.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/namespace.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/network.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/network2.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nncp.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nncp2.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset2.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/manifests/",
                                        "cd+++++++++ ci-framework-data/artifacts/manifests/openstack/",
                                        "cd+++++++++ ci-framework-data/artifacts/manifests/openstack/cr/",
                                        "cd+++++++++ ci-framework-data/artifacts/parameters/",
                                        ">f+++++++++ ci-framework-data/artifacts/parameters/zuul-params.yml",
                                        "cd+++++++++ ci-framework-data/logs/",
                                        "cd+++++++++ registries.conf.d/",
                                        ">f+++++++++ registries.conf.d/000-shortnames.conf",
                                        "cd+++++++++ system-config/",
                                        "cd+++++++++ system-config/libvirt/",
                                        ">f+++++++++ system-config/libvirt/libvirt-admin.conf",
                                        ">f+++++++++ system-config/libvirt/libvirt.conf"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/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/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-927a-347b-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:23.120236Z",
                            "start": "2026-06-12T20:24:21.339524Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-000000000099",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "zuul_return",
                            "changed": false,
                            "false_condition": "molecule_report.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:23.178561Z",
                            "start": "2026-06-12T20:24:23.133006Z"
                        },
                        "id": "0a580a2a-0021-927a-347b-00000000001c",
                        "name": "Return artifact to Zuul"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "start": "2026-06-12T20:24:23.183937Z"
                },
                "id": "0a580a2a-0021-927a-347b-00000000001d",
                "name": "Run ci/playbooks/collect-logs.yml on CRC host"
            },
            "tasks": []
        }
    ],
    "stats": {
        "controller": {
            "changed": 12,
            "failures": 0,
            "ignored": 1,
            "ok": 17,
            "rescued": 0,
            "skipped": 6,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "1",
    "phase": "post",
    "playbook": "review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:24:28.426593Z",
                    "start": "2026-06-12T20:24:24.080264Z"
                },
                "id": "0a580a2a-0021-20d3-342d-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "fetch-output"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:24.144173Z",
                            "start": "2026-06-12T20:24:24.090035Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-000000000004",
                        "name": ""
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-20d3-342d-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:24.251355Z",
                            "start": "2026-06-12T20:24:24.174648Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-000000000035",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-20d3-342d-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:24.317761Z",
                            "start": "2026-06-12T20:24:24.257468Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-000000000036",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "1000",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts"
                                        }
                                    },
                                    "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/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "1000",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs"
                                        }
                                    },
                                    "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/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "1000",
                                    "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-20d3-342d-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:25.455277Z",
                            "start": "2026-06-12T20:24:24.322586Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-000000000037",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": false,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@38.102.83.181:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "stdout_lines": [],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": false,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@38.102.83.181:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/home/zuul/zuul-output/artifacts/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "stdout_lines": [],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": false,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@38.102.83.181:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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@38.102.83.181:/home/zuul/zuul-output/docs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "stdout_lines": [],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-20d3-342d-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:27.418845Z",
                            "start": "2026-06-12T20:24:25.465892Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-000000000039",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "false_condition": "ansible_connection == 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:27.460022Z",
                            "start": "2026-06-12T20:24:27.426214Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-000000000006",
                        "name": ""
                    }
                },
                {
                    "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/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts/* /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.022090",
                                    "end": "2026-06-12 20:24:28.047021",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/artifacts/* /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-06-12 20:24:28.024931",
                                    "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/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/docs/* /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.014733",
                                    "end": "2026-06-12 20:24:28.375123",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/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/e6b1da1af9a247ea91ac085292eb4c93/work/docs/* /var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-06-12 20:24:28.360390",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-20d3-342d-00000000000c",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:28.426593Z",
                            "start": "2026-06-12T20:24:27.464709Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-00000000000e",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-12T20:24:29.001704Z",
                    "start": "2026-06-12T20:24:28.435159Z"
                },
                "id": "0a580a2a-0021-20d3-342d-000000000015",
                "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCmE7bKK3lacuXsSIUp8rOT6JdqV2ijJyvg81ITRMvKB42ilBDToxaYpNqA2naGqQDEyWUsVWsN0geDFtJtJMjeSFP2VgdtSBjo68787nat0dGlStlRxLDLt7S0QNe+eTpL+RtccusptyZmZVC1Yc/lmUf3PNHZ4roYp+skEixaCf3zsGFsc17VMEOymqu4Xy7KWZEDUOB0GODMY2cxEr550uzxtPXFGuw8QN0LRD336mkjPyOs3IL81RQnmOUacLnjNeOszLezLuzckR6MjpKrvGbBd9ijaqqiCGdaviI/BxMjy5wVSFtyocQjII5PiLMbP4VNlyiCsgg0BjvXthaJP5xeAOM9z0ix9ZbBMS2r9zkYm5HmnksrIIOCl/1Zff9D9nAGUYU4w8jShDm/lrqr0l5VNjoDLLWmcQqFSBXWZGckIxYb87fT7knbY+InpNef+e+BhEcr4f13J3VB895cGMsluSYwO5eNgXpwnAs13qt7O0kLQsyRnAYk14pLFGU= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCmE7bKK3lacuXsSIUp8rOT6JdqV2ijJyvg81ITRMvKB42ilBDToxaYpNqA2naGqQDEyWUsVWsN0geDFtJtJMjeSFP2VgdtSBjo68787nat0dGlStlRxLDLt7S0QNe+eTpL+RtccusptyZmZVC1Yc/lmUf3PNHZ4roYp+skEixaCf3zsGFsc17VMEOymqu4Xy7KWZEDUOB0GODMY2cxEr550uzxtPXFGuw8QN0LRD336mkjPyOs3IL81RQnmOUacLnjNeOszLezLuzckR6MjpKrvGbBd9ijaqqiCGdaviI/BxMjy5wVSFtyocQjII5PiLMbP4VNlyiCsgg0BjvXthaJP5xeAOM9z0ix9ZbBMS2r9zkYm5HmnksrIIOCl/1Zff9D9nAGUYU4w8jShDm/lrqr0l5VNjoDLLWmcQqFSBXWZGckIxYb87fT7knbY+InpNef+e+BhEcr4f13J3VB895cGMsluSYwO5eNgXpwnAs13qt7O0kLQsyRnAYk14pLFGU= 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": "0a580a2a-0021-20d3-342d-000000000018",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/e6b1da1af9a247ea91ac085292eb4c93/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-12T20:24:29.001704Z",
                            "start": "2026-06-12T20:24:28.441929Z"
                        },
                        "id": "0a580a2a-0021-20d3-342d-00000000001a",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 2,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
